关注
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";来启用严格模式。这行指令告诉解释器或编译器以严格模式来执行代码。如果这行指令不在第一行,则整个脚本将以正常模式运行
查看原帖
点赞 评论
相关推荐


点赞 评论 收藏
分享

点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 为了求职,我做过的疯狂伪装 #
8631次浏览 113人参与
# 从顶到拉给所有面过的公司评分 #
5697次浏览 67人参与
# 职场破冰,你们都聊什么? #
4532次浏览 53人参与
# 晒晒你的中秋福利 #
14182次浏览 83人参与
# 聊聊这家公司值得去吗 #
548441次浏览 3658人参与
# 广联达求职进展汇总 #
10260次浏览 50人参与
# 产品每日一题 #
60298次浏览 604人参与
# 实习要如何选择和准备? #
114063次浏览 1435人参与
# 机械人,你最希望上岸的公司是? #
181469次浏览 1894人参与
# 你面试被问到过哪些不会的问题? #
15972次浏览 645人参与
# 机械笔面试考察这些知识点 #
9970次浏览 89人参与
# 如何快速融入团队? #
31763次浏览 278人参与
# bilibili求职进展汇总 #
81168次浏览 749人参与
# 浪潮求职进展汇总 #
16119次浏览 131人参与
# 你觉得早上几点上班合适? #
81932次浏览 329人参与
# 上班后和你想的一样吗? #
78730次浏览 628人参与
# 工作压力大怎么缓解 #
104288次浏览 1043人参与
# 远景求职进展汇总 #
60945次浏览 317人参与
# 电网笔面经互助 #
46031次浏览 428人参与
# 秋招报数:你投了多少家公司? #
22986次浏览 233人参与