使用严格模式的方法是在代码文件或函数的顶部添加如下语句:
"use strict";
消除 Javascript 语法的一些不合理、不严谨之处,减少一些怪异行为;
消除代码运行的一些不安全之处,保证代码运行的安全;
提高编译器效率,增加运行速度;
为未来新版本的 Javascript 做好铺垫。
- "use strict";
- myFunction();
-
- function myFunction() {
- y = 3.14; // 报错 (y 未定义)
- }
- x = 3.14; // 不报错
- myFunction();
-
- function myFunction() {
- "use strict";
- y = 3.14; // 报错 (y 未定义)
- }
- "use strict";
- x = 3.14; // 报错 (x 未定义)
- //对象也是一个变量
- "use strict";
- x = {p1:10, p2:20}; // 报错 (x 未定义)
- "use strict";
- var x = 3.14;
- delete x; // 报错
- "use strict";
- function x(p1, p2) {};
- delete x; // 报错
- "use strict";
- function x(p1, p1) {}; // 报错
- function a() {
- console.log(this);
- }
- //返回Window对象
-
- function b() {
- "use strict";
- console.log(this);
- }
- //undefined
因此,使用构造函数时,如果忘了加new,this不再指向全局对象,而是报错。
为了向将来Javascript的新版本过渡,严格模式新增了一些保留关键字: