关注
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";来启用严格模式。这行指令告诉解释器或编译器以严格模式来执行代码。如果这行指令不在第一行,则整个脚本将以正常模式运行
查看原帖
点赞 评论
相关推荐
牛客热帖
更多
正在热议
更多
# 第一次找实习,我建议__ #
21923次浏览 292人参与
# 韶音科技求职进展汇总 #
60570次浏览 505人参与
# 从mentor身上学到了__ #
19256次浏览 303人参与
# 你怎么评价今年的春招? #
142342次浏览 1388人参与
# 什么样的公司千万别去 #
16847次浏览 115人参与
# 上班摸鱼,你都在干些什么? #
31375次浏览 227人参与
# 外出实习被同学举报 #
4147次浏览 32人参与
# 你投递的公司有几家约面了? #
149778次浏览 982人参与
# 秋招的嫡长offer #
312683次浏览 1881人参与
# 秋招暂停,我将对以下公司做出处罚__ #
29768次浏览 137人参与
# 秋招结束之后的日子 #
106200次浏览 1017人参与
# 你认为工作的意义是什么 #
203520次浏览 1289人参与
# 秋招我要惩罚这些公司 #
3100次浏览 22人参与
# 打工人的至爽时刻or至暗时刻 #
42006次浏览 221人参与
# 你听到的“最没用”的秋招建议 #
20984次浏览 234人参与
# 如果今天是你的last day,你会怎么度过? #
48202次浏览 299人参与
# 面试被问期望薪资时该如何回答 #
311834次浏览 1789人参与
# 2025秋招体验点评 #
47651次浏览 482人参与
# 除了主业以外,你还有哪些其他收入? #
35308次浏览 302人参与
# 在国企工作的人,躺平了吗? #
375558次浏览 3930人参与