window
无法像我们在此示例中看到的那样重新定义:
http://i.stack.imgur.com/IYX0p.jpg
那么为什么jquery会以window
开头(它甚至使用相同的名字)?
(function( window, undefined ) {...})( window );
我的意思是,它可以在里面使用window
......
P.S。 undefined
技巧与它无关......
答案 0 :(得分:1)
我想一个可能的解释是让JQuery更容易在其他上下文中移植,其中全局对象可能不会被命名为window
,或者甚至嵌入到其他一些脚本中,在window
引用的情况下到当前作用域(或激活对象)中的有效令牌。
无论如何,我认为这可能有用的唯一原因是因为jQuery代码可以毫无顾虑地使用window
名称,因为任何供应商都可以将名称绑定到它想要的任何对象,只需更改单个jQuery源代码行(最后一行)。