javascript - 关于一种写法的疑问
巴扎黑
巴扎黑 2017-04-11 09:07:39
[JavaScript讨论组]

在公司看到前辈的jQuery代码全是如下的写法,请问这个该怎么理解?

(function($) {
  //do something here;
})(jQuery);
巴扎黑
巴扎黑

全部回复(4)
PHP中文网

避免冲突
$这个标识符除了 jQuery 还有很多类库和框架在使用,jQuery 虽然默认提供$这个标识符,其实真正的全局 jQuery 对象标识符是jQuery,也就是说应该使用jQuery('#id')这种形式,然而这种形式显得太麻烦,所以就有了你写的这种形式:

(function($) {
  //do something here;
})(jQuery);

这时$标识符只在方法体内生效,既可以方便编码,又可以避免冲突。
同样的用法还包括

(function(d){
    // your code here
})(document)

可以简化 document 的引用

巴扎黑

避免和其他框架的混合吧。例如zepto 也是用$的

阿神

匿名函数,你也可以这样写啊

var myobj={
    add:function(x,y){
        return x+y;
    }
};

(function($){
    console.log($.add(1,3));
})(myobj);
大家讲道理

立即执行,jQuery作为参数传递

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号