首页 > 关于一种写法的疑问

关于一种写法的疑问

在公司看到前辈的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);
【热门文章】
【热门文章】