周梦康 发表于 2014-06-08 4231 次浏览 标签 : javascript

前几天看HeadJs,看别人的函数体的开头有一个"use strict";。正好今天又看《JavaScript高级程序设计》。

下面内容参考自《JavaScript高级程序设计》3.1.4 严格模式

ECMAScript 5 引入了严格模式(strict mode)的概念。严格模式是为 JavaScript 定义了一种不同的 解析与执行模型。在严格模式下,ECMAScript 3 中的一些不确定的行为将得到处理,而且对某些不安全 的操作也会抛出错误。要在整个脚本中启用严格模式,可以在顶部添加如下代码:

"use strict";

这行代码看起来像是字符串,而且也没有赋值给任何变量,但其实它是一个编译指示(pragma), 用于告诉支持的 JavaScript 引擎切换到严格模式。这是为不破坏 ECMAScript 3 语法而特意选定的语法。

在函数内部的上方包含这条编译指示,也可以指定函数在严格模式下执行:

function doSomething(){
    "use strict";
	//函数体 
}

严格模式下,JavaScript 的执行结果会有很大不同,因此本书将会随时指出严格模式下的区别。支 持严格模式的浏览器包括 IE10+、Firefox 4+、Safari 5.1+、Opera 12+和 Chrome。

评论列表