我見過像執行功能噸的JavaScript代碼使用自:自執行的函數調用與方法顯式調用
(function(){
// ... code here
})();
但是有時候,我看到人們這樣做的變體:
(function(){
// ... code here
}).call(this);
這兩種形式有什麼功能上的區別嗎?如果是這樣,那是什麼?
在野外第二形式的一個例子:https://github.com/shawnmclean/Idle.js/blob/master/build/idle.js#L160
在什麼情況下,* this *未設置爲「有意義的值」? – RobG 2014-12-08 00:51:10
@RobG - 在嚴格模式下,'this'通常是'undefined'(例如在任何正常的函數調用中)。 – jfriend00 2014-12-08 01:41:49