我几乎所有的JS文件都包装在匿名函数中。如果我在匿名函数之外包含"use strict";,严格模式是否仍然适用于匿名函数?
例如,严格模式是否应用于以下脚本中匿名函数的内部主体:
"use strict";
(function() {
// Is this code running under strict mode?
})(); 发布于 2011-05-17 01:21:59
根据John Resig's article的说法,如果您在文件顶部打开严格模式,它将应用于整个文件/脚本。所以,是的,这意味着它将在匿名函数中应用。
您也可以将其添加到函数中,在这种情况下,它仅适用于该特定函数。
编辑后添加:这是the full specification。一个相关的段落:
10.1.1严格模式代码
可以使用无限制或严格模式语法和语义来处理ECMAScript程序语法单元。当使用严格模式处理时,这三种类型的ECMAScript代码被称为严格全局代码、严格求值代码和严格函数代码。在以下情况下,代码被解释为严格模式代码:
如果
https://stackoverflow.com/questions/6020924
复制相似问题