信息发布→ 登录 注册 退出

javascript中的严格模式是什么_如何启用它?

发布时间:2025-12-15

点击量:
严格模式能防止未声明变量赋值、重复参数名、重复对象属性名、非对象调用时this指向全局、with语句及不安全eval等行为,通过报错替代静默失败。

严格模式(Strict Mode)是 JavaScript 中的一种运行模式,它让代码在更严格的条件下执行,能帮助开发者及早发现潜在错误、避免不安全操作,并禁用一些容易出错或已被淘汰的语法。

严格模式能防止哪些问题?

它会主动报错而不是静默失败,比如:

  • 给未声明的变量赋值会抛出 ReferenceError(普通模式下会自动创建全局变量)
  • 重复定义函数参数名(如 function foo(a, a) {})会报 SyntaxError
  • 对象中重复的属性名(如 {a: 1, a: 2})在严格模式下也报错(ES5+)
  • this 在非对象调用时为 undefined(普通模式下指向全局对象)
  • 禁用 with 语句和部分 eval 行为,提升安全性和可预测性

如何启用严格模式?

有两种启用方式,作用范围不同:

  • 整个脚本启用:在 JS 文件或 标签最顶部写 "use strict";(必须是第一行有效语句,前面只能有注释)
  • 仅函数内启用:在函数体第一行写 "use strict";,只对该函数及其内部嵌套函数生效

注意:"use strict" 必须是字符串字面量,不能加变量、表达式,也不能用单引号以外的引号(虽然部分环境支持单引号,但规范要求双引号)。

严格模式不是万能的

它不会帮你发现逻辑错误,也不会自动修复代码。它只是收紧了语言规则,让“可疑行为”显性化。现代开发中,推荐在新项目中默认启用;老项目可逐步在函数级添加,降低迁移风险。模块(import/export)脚本默认就是严格模式,无需手动声明。

基本上就这些。

标签:# javascript  # java  # js  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!