区别
- [ ] 带var:在赋值前面不会报错–>undefined
- [ ] 不带var:不能进行预解释,在前面执行会报错
本质关系
- [ ] var num=12
- 不仅给全局作用域增加全局变量num
- 还给window增加属性名num,其属性值是12
- [ ] num=12
- 相当于给window增加属性名num,其属性值是12;
私有域中出现不带var的变量
私有域中出现不带var的变量,则往上级作用域查找,直到找到或直到window为止,window中也没有会出现以下两种情况!
- [ ] 想要获取值:
- console.log(total);–>报错
- [ ] 想要设置值:
- total=100;–>相当于在全局中不加var(给window增加一个属性名total,其属性值为100)
例如:123456function fn(){ console.log(total); //-->报错 total=100;}fn();console.log(total); //-->不执行
|
|
- 注意:js在不做特殊处理的情况下,上面代码报错,下面代码不执行