关注
JavaScript严格模式(Strict mode)规定的内容主要包括以下几个方面:
1. 变量必须先声明后使用:在严格模式下,变量必须通过var、let或const关键字进行声明,否则会抛出ReferenceError。在非严格模式下,未声明的变量会被隐式创建,并被添加到全局对象中1。
2. 禁止删除变量、函数或函数参数:在严格模式下,使用delete操作符删除变量、函数或函数参数会抛出SyntaxError。
3. 禁止对只读属性进行赋值:在严格模式下,对只读属性(通过const关键字声明的常量)进行赋值会抛出TypeError。
4. 禁止使用八进制字面量:在严格模式下,以0开头的数字会被视为八进制字面量,这在非严格模式下是允许的。严格模式下,使用八进制字面量会抛出SyntaxError1。
5. 限制this值:在严格模式下,函数内部的this值不再是全局对象,而是undefined,除非通过call()、apply()或bind()明确指定1。
6. 禁止使用重复的函数参数名:在严格模式下,函数参数名不能重复。在非严格模式下,重复的函数参数名会被忽略1。
7. 禁止使用with语句:在严格模式下,使用with语句会抛出SyntaxError。with语句在非严格模式下允许将对象的属性添加到作用域链中,但这被认为是不推荐使用的特性1。
8. 限制eval和arguments的赋值:在严格模式下,无法对eval和arguments进行赋值。在非严格模式下,这种赋值是允许的1。
启用严格模式的方法:通过在脚本或函数的开头添加指令"use strict";来启用严格模式。这行指令告诉解释器或编译器以严格模式来执行代码。如果这行指令不在第一行,则整个脚本将以正常模式运行
查看原帖
点赞 评论
相关推荐

点赞 评论 收藏
分享

点赞 评论 收藏
分享

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 我的实习收获 #
31510次浏览 503人参与
# 我的租房踩坑经历 #
29282次浏览 290人参与
# 实习吐槽大会 #
33833次浏览 161人参与
# 2025牛客秋招季 #
4743次浏览 147人参与
# 晒一晒你的工位 #
86085次浏览 304人参与
# 穿越回高考你还会选现在的专业吗 #
22407次浏览 267人参与
# 26届秋招投递记录 #
4100次浏览 112人参与
# 双非能在秋招上岸吗? #
215274次浏览 1143人参与
# 毕业旅行去哪玩儿 #
1297次浏览 33人参与
# 如果有时光机,你最想去到哪个年纪? #
47209次浏览 800人参与
# 非技术岗简历怎么写 #
209852次浏览 2861人参与
# 移动求职进展汇总 #
1552次浏览 16人参与
# 打工人锐评公司红黑榜 #
146103次浏览 920人参与
# 求职遇到的搞笑事件 #
113005次浏览 766人参与
# 携程求职进展汇总 #
533119次浏览 3987人参与
# 找工作有哪些冷知识 #
97645次浏览 1378人参与
# 商战,最累的是我们 #
13106次浏览 52人参与
# 第一份工作应该选高薪还是热爱? #
61613次浏览 560人参与
# 秋招OC许愿 #
317038次浏览 2423人参与
# 高学历就一定能找到好工作吗? #
47623次浏览 591人参与