相关疑难解决方法(0)

在ECMAScript5中,"使用严格"的范围是什么?

严格模式编译指示在ECMAScript5中有什么范围?

"use strict";
Run Code Online (Sandbox Code Playgroud)

我想这样做(主要是因为JSLint没有抱怨它):

"use strict";

(function () {
  // my stuff here...
}());
Run Code Online (Sandbox Code Playgroud)

但我不确定这是否会破坏其他代码.我知道我可以做到这一点,这将把pragma的范围扩展到函数...

(function () {

  "use strict";

  // my stuff here...

}());
Run Code Online (Sandbox Code Playgroud)

但JSLint抱怨它(当启用"严格"JSLint选项时),因为它认为您在启用"use strict"之前正在执行代码.

这是我的问题.如果我有fileA.js:

"use strict";
// do some stuff
Run Code Online (Sandbox Code Playgroud)

和fileB.js:

eval( somecodesnippet ); // disallowed by "use strict"
Run Code Online (Sandbox Code Playgroud)

然后将它们以相同的顺序包含在我的html页面中,将pragma限定为文件,还是将pragma放到fileB中,从而阻止eval执行?

javascript scope strict ecma262 ecmascript-5

41
推荐指数
2
解决办法
7644
查看次数

一个函数中的严格模式是否会对它调用的函数产生影响?

例如,我有这样的代码:

function test() {
  // some code
}

function main() {
  "use strict";
  test();
}
Run Code Online (Sandbox Code Playgroud)

如您所见 - 在功能中main我启用了严格模式.

问题:这是否在功能中启用严格模式test或者我需要分别为每个功能定义严格模式?

谢谢.

javascript strict

2
推荐指数
1
解决办法
38
查看次数

标签 统计

javascript ×2

strict ×2

ecma262 ×1

ecmascript-5 ×1

scope ×1