84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
为什么这里的输出aa会报错而不是3呢?如果说JS中含有“函数”级别的变量作用域会限制aa的作用范围但是不是说不带var隐式声明的变量是全局变量吗?初学JS一直有些糊涂。。求各位大神解答下
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
因为找不到window.aa, 在函数前面你也没声明 var aa; 是这样: 找window.aa(全局的aa),发现没有, 所以就报undefined了.
var aa;
alert你是写在全局中的. 所以去取的aa 越是全局的那个aa
。。。。。额 应该是没执行。搞笑了。
原因是你还没有执行函数。。。你才声明有没有调用,他怎么会有。。。。
的确是未执行...不过这里补充一点,在严格模式下未通过var关键字来申明变量就赋值会报错(还有注意变量名字不要取关键字或保留字)ES6里新增了块级作用域变量,或许你可以看看阮一峰大神写的ES6教程~
因为找不到window.aa, 在函数前面你也没声明
var aa;
是这样: 找window.aa(全局的aa),发现没有, 所以就报undefined了.alert你是写在全局中的. 所以去取的aa 越是全局的那个aa
。。。。。额 应该是没执行。搞笑了。
原因是你还没有执行函数。。。你才声明有没有调用,他怎么会有。。。。
的确是未执行...不过这里补充一点,在严格模式下未通过var关键字来申明变量就赋值会报错(还有注意变量名字不要取关键字或保留字)ES6里新增了块级作用域变量,或许你可以看看阮一峰大神写的ES6教程~