Jquery和IIFE包装澄清?

时间:2013-03-14 11:29:04

标签: javascript jquery

window无法像我们在此示例中看到的那样重新定义:

http://i.stack.imgur.com/IYX0p.jpg enter image description here

那么为什么jquery会以window开头(它甚至使用相同的名字)?

(function( window, undefined ) {...})( window );

我的意思是,它可以在里面使用window ......

P.S。 undefined技巧与它无关......

1 个答案:

答案 0 :(得分:1)

我想一个可能的解释是让JQuery更容易在其他上下文中移植,其中全局对象可能不会被命名为window,或者甚至嵌入到其他一些脚本中,在window引用的情况下到当前作用域(或激活对象)中的有效令牌。

无论如何,我认为这可能有用的唯一原因是因为jQuery代码可以毫无顾虑地使用window名称,因为任何供应商都可以将名称绑定到它想要的任何对象,只需更改单个jQuery源代码行(最后一行)。