Tested some js code in Chrome Dev Console and I'm a bit confused.
I know that in strict mode functions that are not methods of an object when referred to this keyword should receive undefined instead of global object.
function test(){
    "use strict";
    return this===undefined;}
test(); 
Outputs false.
"use strict";
function test(){
    return this===undefined;}
test(); 
Still false.
(function test(){
    "use strict";
    return this===undefined;}());
Outputs true.
Just wanted to clarify. ʕ •ᴥ•ʔ I'm new to js.
 
     
     
    