关注
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";来启用严格模式。这行指令告诉解释器或编译器以严格模式来执行代码。如果这行指令不在第一行,则整个脚本将以正常模式运行
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
点赞 评论 收藏
分享
查看7道真题和解析 点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# xx岗简历求拷打 #
14424次浏览 139人参与
# 如何看待offer收割机的行为 #
1049163次浏览 6610人参与
# 开工第一帖 #
48750次浏览 897人参与
# 互联网回暖,腾讯要招5000人! #
25396次浏览 598人参与
# 有转正机会的小厂实习值得去吗? #
10816次浏览 114人参与
# 产运销实习日记 #
88269次浏览 688人参与
# 这些公司卡简历很严格 #
88810次浏览 395人参与
# 硬件人求职现状 #
506242次浏览 4803人参与
# 掌握什么AI技能,会为你的求职大大加分 #
11367次浏览 456人参与
# 聊聊这家公司值得去吗 #
886042次浏览 4720人参与
# 携程求职进展汇总 #
892782次浏览 5931人参与
# 求职季如何保持心态不崩 #
214638次浏览 1472人参与
# 面试反问你会问什么 #
169830次浏览 1744人参与
# 机械人还在等华为开奖吗? #
316346次浏览 1586人参与
# 你最讨厌面试被问什么 #
11608次浏览 136人参与
# 机械人的秋招小目标 #
29137次浏览 244人参与
# 如何看待应届生身份? #
229106次浏览 2297人参与
# 远程面试的尴尬瞬间 #
329332次浏览 1919人参与
# 金三银四,你有感觉到吗 #
697288次浏览 6098人参与
# 制造业的秋招小结 #
145143次浏览 2095人参与
腾讯成长空间 6079人发布