严格模式

严格模式

严格模式的调用

  • 在脚本文件或者单个函数第一行添加: “use strict”;

严格模式的支持

  • IE10+
  • Firefox4+
  • Chrome13+
  • Safari5.1+
  • Opera12+

严格模式的意义

严格模式是ES5中,定义了一种不同的解析与执行模式

  • 消除一些js代码中的不严谨,不合理的地方,减少一些怪异的地方
  • 提高编译效率,增加运行速度
  • 为未来的版本做一些铺垫

严格模式的限制

  • 不允许使用未声明的变量(报错)
  • 不允许删除函数
  • 不允许变量重名
  • 不允许使用八进制
  • 不允许使用转义字符
  • 不允许对只读属性赋值
  • 不允许对一个使用getter方法读取的属性进行赋值
  • 不允许删除一个不允许删除的属性
  • 变量名不能使用”eval”字符串
  • 变量名不能使用”arguments”字符串
  • 禁止with语句
  • 在作用域eval()创建的变量不能被调用(eval被赋值时,也会把当前eval所处的变量作用域也赋值过去)
  • 禁止this关键字指向全局对象,使用构造函数时,忘记加new,this不指向全局,报错

严格模式新增保留关键字(使用报错)

  • implements
  • interface
  • let
  • package
  • private
  • protected
  • public
  • static
  • yield

版权声明:本文为luna_OnTheWay原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。