严格模式能防止未声明变量赋值、删除不可配置属性、使用保留字命名、对象/函数参数重复等错误,启用方式为顶部或函数首行添加"use strict",推荐现代开发中普遍使用。

JavaScript的严格模式(Strict Mode)是一种让代码在更严格的条件下运行的模式,它会禁用一些不安全、易出错或已被废弃的语法和行为,同时抛出更多明确的错误,帮助开发者写出更可靠、更现代的代码。
严格模式能防止哪些常见问题
开启严格模式后,以下情况会直接报错,而不是静默失败:
- 给未声明的变量赋值(比如直接写 name = "Alice" 会报 ReferenceError)
- 删除不可配置的属性(如 delete Object.prototype)
- 使用保留字作变量名(如 let、static、public 等)
- 对象中出现重复的属性名(如 {a: 1, a: 2} 在严格模式下是语法错误)
- 函数参数名重复(如 function fn(a, a) {})
如何启用严格模式
有两种启用方式,都通过添加字符串字面量 "use strict" 实现:
- 全局启用:放在脚本最顶部(不在任何函数内),整份文件进入严格模式
- 函数级启用:放在函数体第一行,仅该函数及其内部函数受严格模式约束
注意:"use strict" 必须是纯字符串,不能带变量、拼接或注释干扰;也不能出现在条件语句或函数中间。
立即学习“Java免费学习笔记(深入)”;
大高朋团购系统是一套Groupon模式的开源团购程序,开发的一套网团购程序,系统采用ASP+ACCESS开发的团购程序,安装超简,功能超全面,在保留大高朋团购系统版权的前提下,允许所有用户免费使用。大高朋团购系统内置多种主流在线支付接口,所有网银用户均可无障碍支付;短信发送团购券和实物团购快递发货等。 二、为什么选择大高朋团购程序系统? 1.功能强大、细节完善 除了拥有主流团购网站功能,更特别支
严格模式下被禁用或改变的行为
有些特性在严格模式中被限制或表现不同:
- this 在非对象上下文中不再指向全局对象(如全局调用函数时 this 是 undefined)
- 禁止使用 with 语句(因性能和作用域不清晰)
- arguments.callee 和 arguments.caller 不可用
- 八进制字面量(如 010)被禁用,必须写成 0o10
是否推荐使用
现代 JavaScript 开发强烈推荐启用严格模式。它不是“新语法”,而是现有语言的更安全子集。ES6 模块(import/export)默认就是严格模式,无需手动声明。即使在旧项目中,也可以逐步在函数或模块顶部加上 "use strict" 来提升代码健壮性。
基本上就这些。严格模式不复杂但容易忽略,加一行就能避开不少坑。









