js中的严格模式

278 阅读1分钟

一、前言

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

二、严格模式声明

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

三、严格模式的限制

  1. 不允许使用未声明的变量
  2. 不允许删除对象或者变量
  3. 不允许删除函数
  4. 不允许变量重名
  5. 不允许使用转义字符
  6. 不允许对只读属性赋值
  7. 禁止this关键字指向全局对象(在函数内部或者Es6的类中(默认开启了严格模式),this指向 ‘undefined’),示例代码如下:
function f() {
    "use strict"
    this.a = 1   //报错,this未定义
}

下一篇: 在类组件中,怎么解决this指向问题。