JavaScript语法严格模式:use strict
这几天看bootstrap的源码看到use
http://ashevillesteel.com/plgaa/teen-online-books-on-dating.pptx
free dating website loving relationshipadult baby dating
seniorhousingsolutions.net
now only
strict这个字样,于是学习了一下。 如果给JavaScript代码标志为“严格模式”,则其中运行的所有代码都必然是严格模式下的。 1.如果在语法检测时发现语法问题,则整个代码块失效,并导致一个语法异常。 2.如果在运行期出现了违反严格模式的代码,则抛出执行异常。 注:经过测试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报错: 如果使用严格模式,除了0(零)开头前缀8进制以外还有:
1.在代码中不能使用一些扩展的保留字: implements,interface,let,package,private,public,static,yield
2.with语句也不能使用。
3.不能声明或重写eval和arguments两个标识符。
4.不能用delete删除显式声明的标识符,名称或具名函数。