news 2026/7/18 12:05:35

HoRain云--JavaScript严格模式:提升代码质量的关键

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
HoRain云--JavaScript严格模式:提升代码质量的关键

🎬 HoRain云小助手:个人主页

🔥 个人专栏: 《Linux 系列教程》《c语言教程》

⛺️生活的理想,就是为了理想的生活!


⛳️ 推荐

前些天发现了一个超棒的服务器购买网站,性价比超高,大内存超划算!忍不住分享一下给大家。点击跳转到网站。

专栏介绍

专栏名称

专栏介绍

《C语言》

本专栏主要撰写C干货内容和编程技巧,让大家从底层了解C,把更多的知识由抽象到简单通俗易懂。

《网络协议》

本专栏主要是注重从底层来给大家一步步剖析网络协议的奥秘,一起解密网络协议在运行中协议的基本运行机制!

《docker容器精解篇》

全面深入解析 docker 容器,从基础到进阶,涵盖原理、操作、实践案例,助您精通 docker。

《linux系列》

本专栏主要撰写Linux干货内容,从基础到进阶,知识由抽象到简单通俗易懂,帮你从新手小白到扫地僧。

《python 系列》

本专栏着重撰写Python相关的干货内容与编程技巧,助力大家从底层去认识Python,将更多复杂的知识由抽象转化为简单易懂的内容。

《试题库》

本专栏主要是发布一些考试和练习题库(涵盖软考、HCIE、HRCE、CCNA等)

目录

⛳️ 推荐

专栏介绍

JavaScript 严格模式(Strict Mode)

什么是严格模式

如何启用严格模式

严格模式的主要限制

1. 禁止使用未声明的变量

2. 禁止删除操作

3. 禁止重复属性名

4. 禁止重复参数名

5. 禁止八进制表示法

6. 禁止使用 with 语句

7. this 指向变化

8. arguments 对象行为变化

严格模式的好处

严格模式的使用建议

严格模式的注意事项

总结


JavaScript 严格模式(Strict Mode)

什么是严格模式

严格模式("use strict")是 ECMAScript 5 (ES5) 引入的一种运行模式,旨在使 JavaScript 代码在更严格的条件下运行。它的主要目的包括:

严格模式体现了 JavaScript 更合理、更安全、更严谨的发展方向,包括 IE 10 在内的主流浏览器都已支持它。

如何启用严格模式

严格模式有两种启用方式:

  1. 全局启用:在脚本文件的第一行添加"use strict";,整个脚本文件将运行在严格模式下

    "use strict"; var x = 10; // 正常运行 y = 20; // 报错:ReferenceError: y is not defined
  2. 函数级启用:在函数体的第一行添加"use strict";,仅该函数运行在严格模式下

    function myFunction() { "use strict"; var a = 5; b = 10; // 报错:ReferenceError: b is not defined }

注意:ES 模块(使用import/export的文件)会默认启用严格模式,无需手动添加"use strict";

严格模式的主要限制

1. 禁止使用未声明的变量

在严格模式下,变量必须先用varletconst声明,否则会报错:

"use strict"; x = 10; // 报错:ReferenceError: x is not defined

2. 禁止删除操作

不能删除变量、函数或函数参数:

"use strict"; var x = 10; delete x; // 报错:SyntaxError: Delete of an unqualified identifier

3. 禁止重复属性名

对象字面量中不能有重复属性名:

"use strict"; var obj = { a: 1, a: 2 }; // 报错:SyntaxError: Duplicate data property in object literal not allowed in strict mode

4. 禁止重复参数名

函数参数不能重复:

"use strict"; function func(a, a) { } // 报错:SyntaxError: Duplicate parameter name not allowed in this context

5. 禁止八进制表示法

以0开头的数字(八进制表示)在严格模式下被视为语法错误:

"use strict"; var n = 010; // 报错:SyntaxError: Octal literals are not allowed in strict mode

6. 禁止使用 with 语句

with语句在严格模式下被禁止:

"use strict"; var o = { a: 1 }; with (o) { // 报错:SyntaxError: Strict mode code may not include a with statement a = 2; }

7. this 指向变化

在普通函数中,严格模式下thisundefined而不是全局对象:

"use strict"; function func() { console.log(this); // 输出 undefined } func();

8. arguments 对象行为变化

在严格模式下,arguments对象不再与命名参数同步:

function func(a) { "use strict"; a = 2; console.log(arguments[0]); // 输出 1(不随 a 变化) } func(1);

严格模式的好处

  1. 减少隐蔽错误:未声明变量直接赋值会报错,避免意外创建全局变量
  2. 提高代码安全性:禁用eval相关的危险行为,防止变量泄露
  3. 便于优化:引擎可以更好地优化代码,因为行为更可预测
  4. 为未来铺路:提前避免未来可能的语法冲突(如保留字)
  5. 增强调试能力:更多运行时错误会被捕获,帮助更快定位问题

严格模式的使用建议

  1. 在新项目中默认启用:建议在新项目中全局启用严格模式
  2. 团队协作项目:在多人协作的大型项目中使用严格模式,保持代码一致性
  3. 库和框架开发:作为库或框架开发者,使用严格模式确保使用者遵循规范
  4. ES模块项目:ES6+ 的模块默认启用严格模式,无需额外添加

严格模式的注意事项

总结

严格模式是 JavaScript 开发中的重要实践,它通过限制一些不安全、不规范的行为,帮助开发者编写更健壮、更安全、更易于维护的代码。正如知识库中所述:"严格模式体现了 JavaScript 更合理、更安全、更严谨的发展方向"。在现代 JavaScript 开发中,启用严格模式已成为最佳实践,建议在所有新项目中默认使用。

"严格模式不是为了限制你,而是为了让你的代码更可靠。" —— 严格模式的核心价值

❤️❤️❤️本人水平有限,如有纰漏,欢迎各位大佬评论批评指正!😄😄😄

💘💘💘如果觉得这篇文对你有帮助的话,也请给个点赞、收藏下吧,非常感谢!👍 👍 👍

🔥🔥🔥Stay Hungry Stay Foolish 道阻且长,行则将至,让我们一起加油吧!🌙🌙🌙

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/17 18:06:22

【读书笔记】《演而优则仕》

《演而优则仕》:魏晋名士的表演艺术 我是本书作者。今天向大家介绍《演而优则仕》,这本书是我多年来对魏晋名士现象的思考结晶。核心观点可以用两个字概括:表演。 魏晋名士那些看似荒诞不经的言行,并非单纯的反抗礼教,…

作者头像 李华
网站建设 2026/7/17 10:22:50

哪吒监控终极指南:构建企业级自托管服务器监控体系

哪吒监控终极指南:构建企业级自托管服务器监控体系 【免费下载链接】nezha :trollface: Self-hosted, lightweight server and website monitoring and O&M tool 项目地址: https://gitcode.com/GitHub_Trending/ne/nezha 在当今数字化运维环境中&#x…

作者头像 李华
网站建设 2026/7/18 4:50:42

利用上下文提升答案选择精度的新技术

建立答案选择精度的新标准 一个同时利用局部和全局上下文的模型,在两个基准数据集上将精度分别比当前最优水平提高了6%和11%。 会议:ECIR 2021, EACL 2021 相关出版物: 在Transformer模型中使用局部和全局上下文进行答案句子选择在…

作者头像 李华
网站建设 2026/7/17 11:30:22

百度网盘高速下载终极指南:简单三步实现全速下载

百度网盘高速下载终极指南:简单三步实现全速下载 【免费下载链接】baidu-wangpan-parse 获取百度网盘分享文件的下载地址 项目地址: https://gitcode.com/gh_mirrors/ba/baidu-wangpan-parse 还在为百度网盘的龟速下载而烦恼吗?今天为你介绍一款能…

作者头像 李华
网站建设 2026/7/18 8:51:30

深度测评9个论文写作工具,专科生一键生成论文工具推荐!

深度测评9个论文写作工具,专科生一键生成论文工具推荐! AI 工具如何助力论文写作,专科生也能轻松应对 在当今信息化快速发展的时代,论文写作早已不再是本科生或研究生的专属任务,越来越多的专科生也面临着撰写论文的压…

作者头像 李华