Codog

关注微信公众号:Codog代码狗

0%

js的严格模式

严格模式的意义是什么?

  • 消除Javascript语法的一些不合理、不严谨之处,减少一些怪异行为;
  • 消除代码运行的一些不安全之处,保证代码运行的安全;
  • 提高编译器效率,增加运行速度;
  • 为未来新版本的Javascript做好铺垫。

如何进入严格模式?

标识为一段无赋值的字符串:”use strict”;

除了在js文件首行,也可以在方法内部:

1
2
3
4
5
6
7
function strict(){
"use strict";
return "这是严格模式。";
}
function notStrict() {
return "这是正常模式。";
}

严格模式与非严格模式的区别?

  • 全局变量显式声明
  • 静态绑定
    • 禁止使用with语句
    • 创设eval作用域
  • 4.3 增强的安全措施
    • 禁止this关键字指向全局对象
    • 禁止在函数内部遍历调用栈(函数内部调用caller或arguments参数)
  • 。。。。

详细内容参考阮老师的文章: https://www.ruanyifeng.com/blog/2013/01/javascript_strict_mode.html