[转载]JavaScript语法支持严格模式:”use strict”

本文深入解析JavaScript严格模式的使用方法及限制,包括语法检测、运行期异常处理,以及不支持的浏览器版本。探讨了在不同代码块中启用严格模式的方法,并列举了在严格模式下禁止的特性,如八进制数声明、特定保留字使用等。

 

如果给JavaScript代码标志为“严格模式”,则其中运行的所有代码都必然是严格模式下的。

其一:如果在语法检测时发现语法问题,则整个代码块失效,并导致一个语法异常。

其二:如果在运行期出现了违反严格模式的代码,则抛出执行异常。

 

注:经过测试IE6,7,8,9均不支持严格模式。

 

JavaScript代码“严格模式”使用方法:

严格模式需要使用字符串序列:

 

 

"use strict"

 

 

在如下位置加入可以开启相应代码块中的严格模式:

1.必须在全局代码的开始处加入。

2.在eval代码开始处加入。

3.在函数声明代码开始处加入。

4.在new Function()所传入的body参数块开始加入。

 

例1:

 

var num =012;alert(num);

 

在非严格模式下,可以使用0(零)开头前缀声明8进制。显示10。

但是在严格模式下,会产生错误。

 

"use strict";

var num =012;

alert(num);

 

 

测试结果:

IE6,7,8,9均显示10。

FF报错:octal literals and octal escape sequences are deprecated

Chrome报错:Uncaught SyntaxError: Octal literals are not allowed in strict mode.

Opera报错:Syntax error at line 3 while loading: Invalid character var num = 012;

 

 

如果使用严格模式,除了0(零)开头前缀8进制以外还有:

1.在代码中不能使用一些扩展的保留字:

implements,interface,let,package,private,public,static,yield

2.with语句也不能使用。

3.不能声明或重写eval和arguments两个标识符。

4.不能用delete 删除显式声明的标识符,名称或具名函数。

 

转载于:https://www.cnblogs.com/studynote/articles/3491528.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值