关注
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";来启用严格模式。这行指令告诉解释器或编译器以严格模式来执行代码。如果这行指令不在第一行,则整个脚本将以正常模式运行
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
查看13道真题和解析 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你想跟着什么样领导? #
2419次浏览 48人参与
# 你的秋招白月光和意难平公司 #
4034次浏览 44人参与
# 腾讯音乐秋招 #
434114次浏览 4805人参与
# 找实习是选平台还是选业务? #
7668次浏览 110人参与
# xxx岗位的一天 #
7623次浏览 77人参与
# 从夯到拉,评价编程语言 #
3635次浏览 38人参与
# 百度秋招 #
55220次浏览 394人参与
# 十一月总结 #
10323次浏览 126人参与
# 什么样的背景能拿SSP? #
116514次浏览 409人参与
# 你面试时吹过最大的牛 #
16490次浏览 91人参与
# 每个月花钱最多的地方是? #
3879次浏览 39人参与
# AI“智障”时刻 #
4986次浏览 44人参与
# 实习生如何通过转正 #
111103次浏览 1420人参与
# 应届生第一份工作最好去大厂吗? #
100936次浏览 936人参与
# 饿了么求职进展汇总 #
79735次浏览 684人参与
# 想给25届机械人的秋招建议 #
37749次浏览 237人参与
# 关于提前批我想问 #
250560次浏览 2289人参与
# 你秋招想去哪些公司 #
67144次浏览 1724人参与
# 职场吐槽大会 #
288848次浏览 2105人参与
# 生化环材还是天坑吗 #
51165次浏览 325人参与
# 职场上哪些行为很加分? #
296302次浏览 3398人参与
# 没有合适的工作,你会先找个干着,还是考公考研 #
143012次浏览 1217人参与
