F.P
F.P

Reputation: 17831

Parameters for anonymous function in strict mode

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?

Upvotes: 0

Views: 60

Answers (1)

Ionuț G. Stan
Ionuț G. Stan

Reputation: 179159

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);

Upvotes: 1

Related Questions