📜  js 中的 stric 模式 - Javascript (1)

📅  最后修改于: 2023-12-03 15:02:22.726000             🧑  作者: Mango

JS 中的 Strict 模式

JS 的 Strict 模式是 ES5 引入的一种严格模式,其主要用途是使代码编写更严谨,减少一些常见的错误,提高代码性能。本文将介绍 JS 中的 Strict 模式,其用法、特点以及常见的错误。

开启 Strict 模式的方法

开启 Strict 模式非常简单,只需要在 JS 代码开头添加'use strict';即可。如下面这样:

'use strict';

function myFunction() {
  // 代码
}

也可以在函数内部使用 Strict 模式:

function myFunction() {
  'use strict';
  // 代码
}
Strict 模式的特点

Strict 模式有以下特点:

  1. 禁止使用未声明的变量,这样可以防止变量污染。

  2. 删除变量时会报错,防止误删。

  3. 函数必须声明在顶级作用域,避免函数被意外地重新声明。

  4. 禁止删除不可删除的属性。

  5. 对象不能有重名的属性,如定义两个相同的属性名的变量会报错。

  6. 函数的参数不能有重名项。

  7. 禁用 with 语句。

  8. evalarguments 在严格模式下不会作为形式参数出现。

常见错误

在 Strict 模式下,有一些常见的错误需要注意避免:

  1. 使用未声明的变量会报错。
'use strict';

x = 3; // 报错:Uncaught ReferenceError: x is not defined
  1. 函数不能有重名的参数。
'use strict';

function myFunction(a, b, a) { // 报错:Uncaught SyntaxError: Duplicate parameter name not allowed in this context
  // 代码
}
  1. with 语句会报错。
'use strict';

var x = 1;

with (Math) { // 报错:Uncaught SyntaxError: Strict mode code may not include a with statement
  console.log(cos(x));
}
总结

Strict 模式使代码更加严谨、高效,同时也减少了常见的错误。开启 Strict 模式非常简单,只需要在代码的开始添加'use strict';即可。不过需要注意的是,在开启 Strict 模式后,一些不规范的代码会造成错误,需要注意规避。