严格模式通过"use strict"启用,禁用不安全语法、使未声明变量赋值报错、this在普通函数中为undefined、禁止八进制字面量等歧义语法,并约束eval和arguments行为,提升代码安全性与可维护性。

JavaScript 严格模式(Strict Mode)是一种让代码运行在更安全、更规范环境中的机制。它通过在脚本或函数顶部添加 "use strict"; 指令启用,会禁用一些不安全、易出错或已被淘汰的语法和行为,同时让某些静默错误变为显式报错。
变量必须先声明再使用
在非严格模式下,给未声明的变量赋值会自动创建一个全局变量,这容易引发意外污染和难以排查的 bug。严格模式下,这种操作会直接抛出 ReferenceError。
例如:
非严格模式(不报错,但危险):myVar = 42; // 静默创建全局变量 myVar
立即学习“Java免费学习笔记(深入)”;
严格模式(立即报错):"use strict";<br>myVar = 42; // Uncaught ReferenceError: myVar is not defined
登录后复制
✅ 建议:始终用 let、const 或 var 显式声明变量。
this 不再默认指向全局对象
在非严格模式的普通函数中,如果函数独立调用(如 foo()),其内部的 this 会指向全局对象(浏览器中是 window)。严格模式下,此时 this 为 undefined,避免意外修改全局状态。
标签: javascript java js 浏览器 win 作用域
还木有评论哦,快来抢沙发吧~