如果我们尝试使用未声明但允许设置相同值的变量,为什么JavaScript会引发引用错误?
例如
a = 10; //creates global variable a and sets value to 10 even though its undeclared
alert(b); // throws reference error.
Run Code Online (Sandbox Code Playgroud)
那么为什么b,它的参考错误而不是a?
这就是语言的运作方式.在非严格模式下,对未声明符号的赋值被隐式视为创建全局变量.在严格模式下,这是一个错误.
要使用严格模式,全局脚本块或函数应该以语句开头:
"use strict";
Run Code Online (Sandbox Code Playgroud)
也就是说,一个由字符串组成的简单表达式语句"use strict".这将防止意外创建全局变量(仍然可以显式创建),并强加一些其他限制.
| 归档时间: |
|
| 查看次数: |
1519 次 |
| 最近记录: |