Skip to content
标签
note
字数
370 字
阅读时间
2 分钟

背景

"use strict" 指令在 JavaScript 1.8.5 (ECMAScript5) 中新增,它不是一条语句,但是是一个字面量表达式,在 JavaScript 旧版本中会被忽略,"use strict" 的目的是指定代码在严格条件下执行,严格模式下你不能使用未声明的变量。

使用

在 js 脚本或者函数头部添加 "use strict"; 表达式来声明

限制

  • 不允许使用未声明的变量
  • 不允许删除对象或者变量
  • 不允许删除函数
  • 不允许变量重名
  • 不允许使用转义字符
  • 不允许对只读属性赋值 禁止 this 关键字指向全局对象(在函数内部或者 Es6 的类中(默认开启了严格模式) ,this 指向 'undefined')

示例代码如下:

js
function f() {
	"use strict" this. a = 1 //报错,this未定义 
}

作用

  1. 严格模式通过抛出错误来消除了一些原有静默错误
  2. 严格模式修复了一些导致 JavaScript 引擎难以执行优化的缺陷:有时候,相同的代码,严格模式可以比非严格模式下运行得更快
  3. 严格模式禁用了在 ECMAScript 的未来版本中可能会定义的一些语法

参考

js中的严格模式 - 掘金
严格模式 - JavaScript | MDN

贡献者

The avatar of contributor named as jiechen jiechen

页面历史

撰写