10分钟明白JavaScript严格模式

10分钟明白JavaScript严格模式
最新回答
寄信给风

2026-10-22 00:05:02

JavaScript严格模式是一种采用具有限制性JavaScript变体的方式,使代码在更为规范的环境下运行。以下是关于JavaScript严格模式的核心要点:

  • 开启方式:

    • 全局开启:在脚本文件的第一行放置语句 "use strict";。
    • 局部开启:在函数体的所有语句之前加上 "use strict";。
  • 主要变化:

    • 不允许意外创建全局变量:防止未声明的变量被隐式地创建为全局变量。
    • 不允许静默失败的赋值操作:给未声明的全局变量赋值会引发错误。
    • 删除属性异常:试图删除不可删除的属性时会抛出异常。
    • 不允许删除变量或对象:尝试删除变量或对象会引发错误。
    • 不允许删除函数:不能删除已定义的函数。
    • 函数参数和对象属性不重名:函数参数和对象属性不允许重名。
    • 不允许使用八进制:八进制字面量会引发错误。
    • 不允许使用某些转义字符:如 0 等特定转义字符在严格模式下不允许使用。
    • 禁止this指向全局对象:在严格模式下,this在函数外部或未指定时不会指向全局对象,而是保持为undefined。
    • 不能给arguments赋值:arguments对象在严格模式下是只读的,不能给它赋值。
    • 不能调用eval创建的变量:在严格模式下,eval创建的变量不能在外部作用域中访问。

严格模式有助于开发者避免潜在的错误,提高代码的安全性和性能,并保持向后兼容性。学习并应用严格模式是JavaScript开发中的一个重要实践。