防止变量被覆盖
一个很著名的防止变量被覆盖的例子是使用jQuery和Prototype JavaScript库。它们都大量使用了字符变量$。如果在应用中同时引用了这两个库,则最后添加的库将控制$。将变量传递给自执行匿名函数的技巧,可以用来保证在一块代码里面,jQuery可以使用$变量。
对于这个例子,你应该知道jQuery和$变量是彼此的别名。将jQuery变量传递给参数为$的自执行匿名函数,就能避免$被Prototype库占用了。
(function( $ ){ //直到这里,$是Prototype函数 // 在函数作用域里面,$是jQuery对象。这是一个简单的示例, // 甚至是在自执行匿名函数里面定义的函数,也可以通过$来引用jQuery对象。 console.log( $ ); })( jQuery );