1

window不能像我们在这个例子中看到的那样重新定义:

http://i.stack.imgur.com/IYX0p.jpg 在此处输入图像描述

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

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

我的意思是,它可能在window里面有用......

ps这个undefined技巧与它无关......

4

1 回答 1

1

我想一个可能的解释是让 JQuery 更容易移植到其他上下文中,其中全局对象可能没有命名window,甚至嵌入在其他一些脚本中,在这种情况下window指的是当前范围内的有效令牌(或激活目的)。

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

于 2013-03-14T11:43:30.987 回答