严格模式是在 ECMAscript 5 中新增加的第二种运行模式。
使用
"use strict"
语句进入严格模式,"use strict"
语句之前不能有任何执行的js语句。可以在整文件也可以针对某个函数。作用:
- 不允许使用未声明的变量,正常运行模式下,未声明的会变成全局变量
- 禁止使用
with
语句 - 使得
eval
有作用域 - 禁止
this
指向全局 - 禁止在函数内部遍历调用栈
- 禁止删除变量,可以删除
configurable
设置为true
的对象属性 - 显示报错
- 重名错误
- 禁止8进制表示
arguments
对象的一些限制,不允许对arguments赋值,arguments不再追踪参数的变化,arguments不再追踪参数的变化- 不允许在非函数的代码块内声明函数
- 保留字新增:
implements
,interface
,let
,package
,private
,protected
,public
,static
,yield
JavaScript 严格模式
- 标签:
- #JavaScript