"use strict" 是 JavaScript 中的一个指令,它用于启用严格模式(strict mode)。
使用 "use strict" 会改变 JavaScript 的默认行为,它会使得代码执行更严格,并且会产生一些错误,这些错误在非严格模式下可能不会被捕获或报告。
使用严格模式有以下几个主要区别:
- 变量必须先声明再使用:在严格模式下,必须使用 var、let 或 const 关键字声明变量,否则会抛出错误。
- 禁止使用未声明的变量:在严格模式下,如果使用未声明的变量,会抛出错误。
- 删除变量、函数、函数参数等时会报错:在严格模式下,无法删除变量、函数、函数参数等。
- 禁止使用八进制字面量:在严格模式下,八进制字面量(如 0123)会抛出错误,必须使用 0o 或 0O 前缀来表示八进制数。
- eval 函数具有独立的作用域:在非严格模式下,eval 函数的作用域与周围的作用域一样,会影响到外部作用域的变量。而在严格模式下,eval 函数拥有独立的作用域。
- 禁止使用 this 关键字指向全局对象:在严格模式下,在全局作用域中使用 this 关键字指向 undefined,而非全局对象。
使用严格模式有助于避免一些常见的 JavaScript 编程错误,并且可以提高代码质量和可维护性。建议在开发 JavaScript 代码时始终使用严格模式。