关注
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";来启用严格模式。这行指令告诉解释器或编译器以严格模式来执行代码。如果这行指令不在第一行,则整个脚本将以正常模式运行
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 哪些公司在招寒假实习? #
11676次浏览 150人参与
# 你怎么看待AI面试 #
133155次浏览 742人参与
# MiniMax求职进展汇总 #
614次浏览 23人参与
# 26年哪些行业会变好/更差 #
16765次浏览 223人参与
# 找工作时的取与舍 #
114989次浏览 847人参与
# 去年的flag与今年的小目标 #
8369次浏览 175人参与
# 卷__卷不过你们,只能卷__了 #
10066次浏览 226人参与
# 写论文的崩溃时刻 #
5212次浏览 128人参与
# 腾讯音乐求职进展汇总 #
147543次浏览 1048人参与
# 关于春招你都做了哪些准备? #
122067次浏览 704人参与
# 晒一晒你收到的礼盒 #
95118次浏览 461人参与
# 你不能接受的企业文化有哪些 #
10224次浏览 153人参与
# 有深度的简历长什么样? #
15078次浏览 316人参与
# 求职你最看重什么? #
150755次浏览 875人参与
# 入职第一天 #
9151次浏览 196人参与
# 你都用AI做什么 #
6038次浏览 143人参与
# 你觉得第一学历对求职有影响吗? #
219817次浏览 1226人参与
# 机械人求职现状 #
31649次浏览 292人参与
# 现在前端的就业环境真的很差吗 #
491688次浏览 5960人参与
# 聊聊你的职场新体验 #
310669次浏览 1838人参与
# 工作丧失热情的瞬间 #
346845次浏览 2518人参与
查看16道真题和解析