JavaScript 严格模式

语法

在文件开头添加

'use strict'

作用

消除代码中不合理、不安全的地方,推动开发者编写更规范、更健壮的代码

  • 消除静默错误
  • 未声明变量:直接赋值未声明的变量会抛出 ReferenceError。
    x = 10
  • 重复声明变量或参数:对象属性或函数参数重复定义会报错。
    function (a, a) {}
    let obj = {a: 1, a: 2}
  • 限制 eval 的副作用:eval 内部声明的变量不会泄漏到外部作用域。
"use strict";
eval("var x = 5;"); // 不影响外部作用域
console.log(x); // ReferenceError: x is not defined
  • 禁止删除变量/函数:尝试删除不可配置的属性或变量会报错。
"use strict";
var x = 10;
delete x; // SyntaxError: Delete of an unqualified identifier in strict mode
  • this 不再默认指向全局对象:在普通函数中,this 的值为 undefined(非全局对象 window)。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容