0

0

什么是javascript严格模式及其作用【教程】

紅蓮之龍

紅蓮之龍

发布时间:2026-02-01 19:46:02

|

592人浏览过

|

来源于php中文网

原创

严格模式是JavaScript的“纠错开关”,不提供新功能但强制报错潜在问题;启用需在脚本或函数首行写"use strict";全局启用易致老代码报错,推荐局部启用或IIFE包裹;现代打包工具默认支持,主流浏览器兼容良好。

什么是javascript严格模式及其作用【教程】

严格模式不是新语法,而是“纠错开关”

它不提供新功能,只让 JavaScript 引擎在执行时更较真——把原本悄悄忽略的错误(比如漏写 varlet 就直接赋值)变成明确报错,逼你写出更干净的代码。启用方式就一行:"use strict";,但它必须出现在脚本顶部或函数体第一行,否则无效。

为什么全局加 "use strict" 容易翻车

大型项目里,老代码可能依赖非严格模式的“宽松行为”,比如函数里直接写 a = 10 自动挂到 window 上。一旦整个文件加了严格模式,这类代码立刻报 ReferenceError: a is not defined。所以更稳妥的做法是:

  • 新模块/新函数里局部启用:function handleData() { "use strict"; ... }
  • 用 IIFE 包裹旧逻辑再开启:(function() { "use strict"; /* legacy code */ })();
  • 现代项目中,打包工具(如 Webpack/Vite)通常默认启用严格模式,无需手动加

几个典型报错场景和对应解法

遇到这些错误别慌,它们其实是严格模式在帮你“提前排雷”:

动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版
动态WEB网站中的PHP和MySQL:直观的QuickPro指南第2版

动态WEB网站中的PHP和MySQL详细反映实际程序的需求,仔细地探讨外部数据的验证(例如信用卡卡号的格式)、用户登录以及如何使用模板建立网页的标准外观。动态WEB网站中的PHP和MySQL的内容不仅仅是这些。书中还提到如何串联JavaScript与PHP让用户操作时更快、更方便。还有正确处理用户输入错误的方法,让网站看起来更专业。另外还引入大量来自PEAR外挂函数库的强大功能,对常用的、强大的包

下载
  • delete x; 报错 → 严格模式禁止删除变量,改用 const/let 控制作用域,或明确清空值(x = undefined
  • function foo(a, a) { } 报错 → 参数名不能重复,检查是否误写了两个同名参数
  • this 在普通函数里是 undefined 而不是 window → 如果需要绑定上下文,显式用 .call().bind() 或箭头函数
  • with (obj) { ... } 报错 → 直接重写逻辑,避免使用 with(它会让作用域链不可预测)

兼容性和实际影响比你想的小

IE10+、Chrome 13+、Firefox 4+、Safari 5.1+ 全都支持,2026 年基本不用考虑降级。真正要注意的是:严格模式下 arguments.calleecaller 被禁用,如果你在调试或旧工具链里依赖它们,得提前替换。另外,eval 的作用域也变了——它不再能访问外层变量,这反而是好事,避免污染。

立即学习Java免费学习笔记(深入)”;

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

864

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

752

2023.11.06

c语言const用法
c语言const用法

const是关键字,可以用于声明常量、函数参数中的const修饰符、const修饰函数返回值、const修饰指针。详细介绍:1、声明常量,const关键字可用于声明常量,常量的值在程序运行期间不可修改,常量可以是基本数据类型,如整数、浮点数、字符等,也可是自定义的数据类型;2、函数参数中的const修饰符,const关键字可用于函数的参数中,表示该参数在函数内部不可修改等等。

532

2023.09.20

数据库Delete用法
数据库Delete用法

数据库Delete用法:1、删除单条记录;2、删除多条记录;3、删除所有记录;4、删除特定条件的记录。更多关于数据库Delete的内容,大家可以访问下面的文章。

279

2023.11.13

drop和delete的区别
drop和delete的区别

drop和delete的区别:1、功能与用途;2、操作对象;3、可逆性;4、空间释放;5、执行速度与效率;6、与其他命令的交互;7、影响的持久性;8、语法和执行;9、触发器与约束;10、事务处理。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

215

2023.12.29

undefined是什么
undefined是什么

undefined是代表一个值或变量不存在或未定义的状态。它可以作为默认值来判断一个变量是否已经被赋值,也可以用于设置默认参数值。尽管在不同的编程语言中,undefined可能具有不同的含义和用法,但理解undefined的概念可以帮助我们更好地理解和编写程序。本专题为大家提供undefined相关的各种文章、以及下载和课程。

5403

2023.07.31

网页undefined是什么意思
网页undefined是什么意思

网页undefined是指页面出现了未知错误的意思,提示undefined一般是在开发网站的时候定义不正确或是转换不正确,或是找不到定义才会提示undefined未定义这个错误。想了解更多的相关内容,可以阅读本专题下面的文章。

3103

2024.08.14

网页undefined啥意思
网页undefined啥意思

本专题整合了undefined相关内容,阅读下面的文章了解更多详细内容。后续继续更新。

723

2025.12.25

go语言 注释编码
go语言 注释编码

本专题整合了go语言注释、注释规范等等内容,阅读专题下面的文章了解更多详细内容。

30

2026.01.31

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
React 教程
React 教程

共58课时 | 4.5万人学习

TypeScript 教程
TypeScript 教程

共19课时 | 2.6万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.1万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号