(function(){var a=b=1;})();
console.log(b);
console.log(a);
console.log(b)会打印出1,而console.log(a)会报错。
var a=b=1;等同于
b=1; var a=1; 所以b是全局变量,而a是function作用域内。平时写代码当然一般不会这么写--!。
扩展一下:
var a=b=c=1;等同于
c=1;
b=c;
var a=b;
多个等号,是从最后一个开始执行的。
(function(){var a=b=1;})();
console.log(b);
console.log(a);
console.log(b)会打印出1,而console.log(a)会报错。
var a=b=1;等同于
b=1; var a=1; 所以b是全局变量,而a是function作用域内。平时写代码当然一般不会这么写--!。
扩展一下:
var a=b=c=1;等同于
c=1;
b=c;
var a=b;
多个等号,是从最后一个开始执行的。