在公司看到前辈的jQuery代码全是如下的写法,请问这个该怎么理解?
(function($) {
//do something here;
})(jQuery);
避免冲突$
这个标识符除了 jQuery 还有很多类库和框架在使用,jQuery 虽然默认提供$
这个标识符,其实真正的全局 jQuery 对象标识符是jQuery
,也就是说应该使用jQuery('#id')
这种形式,然而这种形式显得太麻烦,所以就有了你写的这种形式:
(function($) {
//do something here;
})(jQuery);
这时$
标识符只在方法体内生效,既可以方便编码,又可以避免冲突。
同样的用法还包括
(function(d){
// your code here
})(document)
可以简化 document 的引用
立即执行,jQuery作为参数传递
避免和其他框架的混合吧。例如zepto 也是用$的
匿名函数,你也可以这样写啊
var myobj={
add:function(x,y){
return x+y;
}
};
(function($){
console.log($.add(1,3));
})(myobj);