关注
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";来启用严格模式。这行指令告诉解释器或编译器以严格模式来执行代码。如果这行指令不在第一行,则整个脚本将以正常模式运行
查看原帖
点赞 评论
相关推荐
查看9道真题和解析 点赞 评论 收藏
分享
12-06 17:39
中国石油大学(华东) 前端工程师
rbjjj:太杂了吧,同学,项目似乎都没深度,都是api调度耶,分层架构思想没有体现出来了,前端没有前端优化前端工程化体现,后端微服务以及分层架构没体现以及数据安全也没体现,核心再改改,注重于计算机网络,工程化,底层原理吧 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 牛客2025仙途报告 #
4380次浏览 134人参与
# 礼物开箱Plog #
1578次浏览 71人参与
# 2025年终总结 #
177355次浏览 2997人参与
# 工作两年,想和老板谈涨薪怎么说 #
38793次浏览 175人参与
# 你面试体验感最差/最好的公司 #
22166次浏览 363人参与
# 秋招落幕,你是He or Be #
15554次浏览 286人参与
# 一人说一个提前实习的好处 #
13988次浏览 227人参与
# 考公VS就业,你怎么选? #
88104次浏览 497人参与
# 今年你最想重开的一场面试是? #
5657次浏览 74人参与
# 离家近房租贵VS离家远但房租低,怎么选 #
13696次浏览 130人参与
# 重来一次,你会对开始求职的自己说 #
6903次浏览 175人参与
# 找工作,行业重要还是岗位重要? #
85792次浏览 1699人参与
# 实习没事做是福还是祸? #
18791次浏览 272人参与
# 机械制造秋招总结 #
97358次浏览 878人参与
# 职场新人体验 #
156929次浏览 1121人参与
# 工作中听到最受打击的一句话 #
8239次浏览 130人参与
# 团建是“福利”还是是 “渡劫” #
8102次浏览 160人参与
# 反问环节如何提问 #
126456次浏览 2669人参与
# 移动求职进展汇总 #
17919次浏览 143人参与
# 比亚迪线下宣讲会 #
17182次浏览 50人参与

阿里云成长空间 745人发布