84669 orang belajar
152542 orang belajar
20005 orang belajar
5487 orang belajar
7821 orang belajar
359900 orang belajar
3350 orang belajar
180660 orang belajar
48569 orang belajar
18603 orang belajar
40936 orang belajar
1549 orang belajar
1183 orang belajar
32909 orang belajar
为什么这里的输出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教程~