上次在群里,看到有人发出 (function(){}).call(window) 这么一段代码,问这有什么意义,匿名函数中的this不是始终都指向window的么,为什么还要call,我当时也很疑惑。
前段时间请假回家,在火车上没事看javascript权威指南,上面看到了
ECMAScript5标准下,严格模式中匿名函数的的this指向的是undefined,不是window,
我想这应该就是原因了吧。
(function() { console.log(this); // window })(); (function() { "use strict" // 严格模式 console.log(this); // undefined })();