(function(){}).call(window) 严格模式匿名函数的this指向undefined

上次在群里,看到有人发出 (function(){}).call(window) 这么一段代码,问这有什么意义,匿名函数中的this不是始终都指向window的么,为什么还要call,我当时也很疑惑。

前段时间请假回家,在火车上没事看javascript权威指南,上面看到了

ECMAScript5标准下,严格模式中匿名函数的的this指向的是undefined,不是window

我想这应该就是原因了吧。

 

(function() {
    console.log(this);    // window
})();

(function() {
    "use strict"    // 严格模式

    console.log(this);    // undefined
})();

 

posted @ 2014-01-03 21:22  金帛  阅读(665)  评论(0编辑  收藏  举报