你曾经在引擎盖下的JQuery的1.4源代码采取一看,发现它是如何封装在以下方式:JavaScript/JQuery语法如何工作:(函数(窗口,未定义){})(窗口)?
(function(window, undefined) {
//All the JQuery code here
...
})(window);
我读过JavaScript Namespacing的文章,另一个叫“An Important Pair of Parens ,“所以我知道一些关于这里发生的事情。
但我从来没有见过这种特殊的语法。那是什么undefined
在那里?为什么window
需要通过,然后再次出现在最后?
我想补充说,保罗爱尔兰在这个视频中谈到这件事:http://paulirish.com/2010/10-things-i-learned-from-the-jquery-source/ – Mottie 2011-02-09 13:51:32
@Bergi你标记我的问题作为另一个副本,但我在重复前一年问了问题。演员应该是相反的。 – dkinzer 2014-07-16 23:33:40
@dkinzer:这不是关于被问及的问题,而是关于最高质量的答案。无可否认,在这种情况下,它是脖子和脖子,但我发现CMS的答案是最好的。请参阅http://chat.stackoverflow.com/rooms/17/来讨论这个问题,尽管 – Bergi 2014-07-16 23:49:37