When running this snippet

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

Why do I get undefined for a? Why isn't the window passed to the anonymous function?

有帮助吗?

解决方案

What you're doing is (almost) equivalent to this:

"use strict";

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

val t = new test(undefined);

t(window);

Just remove the new keyword:

"use strict";
(function test(a) { console.log(a); })(window);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top