严格模式下匿名函数的参数

时间:2014-04-08 10:05:22

标签: javascript anonymous-function strict

运行此代码段时

"use strict";
(new function test(a) { console.log(a); })(window);

为什么undefined获得a?为什么窗口没有传递给匿名函数?

1 个答案:

答案 0 :(得分:1)

你正在做的事情(差不多)相当于:

"use strict";

function test(a) {
  console.log(a);
}

val t = new test(undefined);

t(window);

只需删除new关键字:

即可
"use strict";
(function test(a) { console.log(a); })(window);