var a = 1;
alert('a:' + (a in window) + ',' + window.a);
alert('b:' + (b in window) + ',' + window.b);
var b = 's';
大家认为这段代码会有什么结果呢?
然后
在同一个页面不刷新
再次执行一遍这个代码
又会是什么结果?
为什么会这样呢?
有点迷惑
求指点~
js
alert('a:' + (a in window) + ',' + window.a);
alert('b:' + (b in window) + ',' + window.b);
var b = 's';
大家认为这段代码会有什么结果呢?
然后
在同一个页面不刷新
再次执行一遍这个代码
又会是什么结果?
为什么会这样呢?
有点迷惑
求指点~
js
第一句话
大家可以换成
var a;
而不赋值
则又是另一种结果了
这又是为啥呢?
var a声明过的变量
初始值都是undefined
undefined是window的一个属性
如果直接给一个未声明的变量赋值
例如c = 'c';
相当于给window添加了一个名为c的属性
声明过的变量一旦赋值,就不是undefined了
也不是window的属性了