严格模式是JavaScript中强制代码规范执行的机制,通过报错拦截隐式全局变量、with语句、重复参数、非法delete及模糊this绑定等问题,提升安全性、可读性、性能与调试效率。

JavaScript 严格模式(Strict Mode)是一种让代码在更严格、更规范的环境中执行的机制,它不是新语法,而是一套执行约束规则。启用后,原本可能“悄悄通过”的错误会直接报错,迫使开发者写出更清晰、更安全、更可维护的代码。
严格模式能帮你避开哪些坑
它主动拦截一些容易出错却不易察觉的行为:
- 禁止隐式创建全局变量(比如忘记用 let、const 或 var 就直接赋值
a = 10,非严格模式下会挂到window上,严格模式直接抛ReferenceError) - 禁止使用
with语句(易引发作用域混乱,且影响性能) - 函数参数名不能重复(
function fn(a, a) { }在严格模式下报错) - 禁止删除不可配置属性(
delete Object.prototype会报错) -
this在非对象调用时不再指向全局对象,而是undefined(避免意外污染全局)
怎么开启严格模式
只需在脚本顶部或函数体开头写一行字符串字面量:
-
全局启用:放在 .js 文件第一行或
标签内的首行"use strict"; -
局部启用:只对某个函数生效,写在函数体第一行
function foo() { "use strict"; /* 这里受严格约束 */ }
注意:它不是语句,是字面量表达式;浏览器不支持时会直接忽略,无副作用。
大高朋团购系统是一套Groupon模式的开源团购程序,开发的一套网团购程序,系统采用ASP+ACCESS开发的团购程序,安装超简,功能超全面,在保留大高朋团购系统版权的前提下,允许所有用户免费使用。大高朋团购系统内置多种主流在线支付接口,所有网银用户均可无障碍支付;短信发送团购券和实物团购快递发货等。 二、为什么选择大高朋团购程序系统? 1.功能强大、细节完善 除了拥有主流团购网站功能,更特别支
立即学习“Java免费学习笔记(深入)”;
为什么现在还值得用严格模式
虽然现代开发多用 TypeScript 或构建工具(如 Babel),但严格模式仍有现实价值:
- 它是 ES5 就确立的基础规范,所有主流浏览器(包括 IE10+)都已完整支持
- 很多底层库、框架源码仍显式声明
"use strict",理解它有助于读懂原始逻辑 - 它提前暴露潜在问题——比如未声明变量、静默失败的
delete、含糊的this绑定,比等到线上报错再排查成本低得多 - 为未来语法铺路:它禁用了一些将来可能成为关键字的标识符(如
class、enum、import),避免升级时冲突
它带来的实际好处
不只是“更严”,更是更可靠:
- 安全性提升:限制危险操作,降低被恶意利用的风险(如覆盖内置原型)
- 可读性增强:强制显式声明、明确作用域边界,团队协作时更容易理解意图
- 性能优化:引擎能更高效地编译和优化代码(例如避免动态作用域查找)
- 调试友好:把原本静默失败的地方变成明确报错,缩短定位时间










