📅  最后修改于: 2023-12-03 15:02:22.726000             🧑  作者: Mango
JS 的 Strict 模式是 ES5 引入的一种严格模式,其主要用途是使代码编写更严谨,减少一些常见的错误,提高代码性能。本文将介绍 JS 中的 Strict 模式,其用法、特点以及常见的错误。
开启 Strict 模式非常简单,只需要在 JS 代码开头添加'use strict';
即可。如下面这样:
'use strict';
function myFunction() {
// 代码
}
也可以在函数内部使用 Strict 模式:
function myFunction() {
'use strict';
// 代码
}
Strict 模式有以下特点:
禁止使用未声明的变量,这样可以防止变量污染。
删除变量时会报错,防止误删。
函数必须声明在顶级作用域,避免函数被意外地重新声明。
禁止删除不可删除的属性。
对象不能有重名的属性,如定义两个相同的属性名的变量会报错。
函数的参数不能有重名项。
禁用 with
语句。
eval
和 arguments
在严格模式下不会作为形式参数出现。
在 Strict 模式下,有一些常见的错误需要注意避免:
'use strict';
x = 3; // 报错:Uncaught ReferenceError: x is not defined
'use strict';
function myFunction(a, b, a) { // 报错:Uncaught SyntaxError: Duplicate parameter name not allowed in this context
// 代码
}
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 模式后,一些不规范的代码会造成错误,需要注意规避。