我在阅读 JQuery 的源码时发现,它的源码基本是包括在这样一个结构之中:
code="javascript" {...})(window)
[/code]
我查看了 JQuery 的版本历史,发现这个结构是出现在 1.1.4 版的。在官方博客中并没有对采用这个结构给出说明。而在 JavaScript 中我也看不出是为了什么目的。
故请问下有人能帮忙解释一下吗?
谢谢。
我在阅读 JQuery 的源码时发现,它的源码基本是包括在这样一个结构之中:
code="javascript" {...})(window)
[/code]
我查看了 JQuery 的版本历史,发现这个结构是出现在 1.1.4 版的。在官方博客中并没有对采用这个结构给出说明。而在 JavaScript 中我也看不出是为了什么目的。
故请问下有人能帮忙解释一下吗?
谢谢。
就是个匿名自执行函数,匿名的意思是function后面没有命名,没有名字其它地方就调用不了了,同时也不会出现两个函数同名发生冲突的情况;因为函数定义完有(),所以它一定义完就执行了,至于传入window这个对象它可能是想保证自己是在浏览器环境下使用;这种方式最重要的意义在于提供一个作用域,其内部通过var声明的对象不会被添加到window对象上,避免了命名的冲突问题,同时外界也不具备访问那些变量的能力。