Javascript 严格模式

最近在看React-Native的过程中看到了js的strict mode,查了些资料,看了些博客,记录一下自己需要的内容。

#### 开启方式

严格模式可以针对整个脚本文件,也可以只作用于其中的单个函数,都使用`'use strict'`表示开启严格模式。

- 整个脚本文件

将`use strict`放在脚本文件的第一行即可,否则无效。

- 脚本文件中的单个函数

将`use strict`放在函数体的第一行即可。

PS:看到的一个小技巧,用匿名函数来开启严格模式在合并文件时会比较方便(虽然我从来都没有用到过...)

```

(function(){

'use strict';

})();

```

### 需要注意的几个与普通模式下的不同点

- 变量必须要先用var声明,才能使用。

- 禁止使用`with`。

- `eval`中只能生成作用于其内部的变量。

- 禁止`this`指向全局对象,使用构造函数时一定要使用`new`

- 只有变量的`configurable`值为`true`时,变量才能被删除

- 对象的属性,函数的参数重名会报错。

- 不可以使用八进制表示

- 不允许在非函数的代码块内声明函数

- 新增保留字`implements` `interface` `let` `package` `private` `protected` `public` `static` `yield`

你可能感兴趣的:(Javascript 严格模式)