news 2026/1/20 21:57:47

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/1/19 9:35:34

如何快速使用QtScrcpy:面向新手的完整安卓投屏指南

如何快速使用QtScrcpy:面向新手的完整安卓投屏指南 【免费下载链接】QtScrcpy QtScrcpy 可以通过 USB / 网络连接Android设备,并进行显示和控制。无需root权限。 项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy QtScrcpy是一款功能强…

作者头像 李华
网站建设 2026/1/19 9:32:49

微信聊天记录数据分析终极指南:解锁你的数字记忆宝藏

微信聊天记录数据分析终极指南:解锁你的数字记忆宝藏 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeChat…

作者头像 李华
网站建设 2026/1/19 9:32:32

网盘下载革命:六大平台直链提取完全指南

网盘下载革命:六大平台直链提取完全指南 【免费下载链接】Online-disk-direct-link-download-assistant 可以获取网盘文件真实下载地址。基于【网盘直链下载助手】修改(改自6.1.4版本) ,自用,去推广,无需输…

作者头像 李华
网站建设 2026/1/20 15:42:53

5步打造完美散热系统:智能风扇控制全攻略

5步打造完美散热系统:智能风扇控制全攻略 【免费下载链接】FanControl.Releases This is the release repository for Fan Control, a highly customizable fan controlling software for Windows. 项目地址: https://gitcode.com/GitHub_Trending/fa/FanControl.…

作者头像 李华