问答详情
源自:3-1 [JavaScript]block语句、var语句

怎么全是全局变量了?

function f1(){
var a=b=1;
};
f1();
console.log(typeof a);
console.log(typeof b);
VM551:6 number
VM551:7 number

我用谷歌的控制台,怎么全是number呢

提问者:徒徒 2015-05-16 16:52

个回答

  • _Exception
    2015-05-16 20:31:30
    已采纳

    浏览器不一样的原因吧,或者是你 var a =1 , var b = 1,分别声明看看,因为这种 var a=b=1 就不太好,

  • Bosn
    2015-06-05 10:46:13

    。。。。。。。。。。

  • kertz
    2016-03-01 17:36:12

    var a=b=1,声明了a ,但是b没声明,js自动隐式声明b,js帮手声明的都是全局的,所以出现b可以在函数体外面访问

  • 西饼嘿
    2015-07-28 15:00:23

    我是这样想的,b=1就是申明了一个全局变量b, 而var a = b 就是申明局部变量a,a的值就是等于b的值为1.

    JS的执行顺序是从右往左执行的。

  • Issa_Tan
    2015-05-19 16:05:45

    可我在Chrome 的控制台上, a 是 undefined , b 是 number 啊,如图(我直接复制你的代码的):

    http://img.mukewang.com/555aeec000011e7f13580212.jpg

  • _Exception
    2015-05-16 18:30:15

    你想它是 String ?