分类分类
更新时间:2026-10-06 19:36:42作者:zhao
简单的说
(function($){
//code
})(jQuery)
声明了一个匿名函数,也就是将jQuery对象作为参数传给函数
给大家举个例子
// 全局
var str = "全局字符串...";
(function () { // 第1层
(function () { // 第2层
(function () { // 第3层
(function () { // 第4层 层数越多,访问全局越慢
console.time('全局');
for (var i=0; i<1e6; i++) {
str += Math.random().toString().substr(2, 2);
}
console.timeEnd('全局');
})();
})();
})();
})();
// 局部
(function () { // 第1层
(function () { // 第2层
(function () { // 第3层
(function () { // 第4层
var str = "内部字符串...";
var random = Math.random;
console.time('内部');
for (var i=0; i<1e6; i++) {
str += random().toString().substr(2, 2);
}
console.timeEnd('内部');
})();
})()
})();
})();
运行代码 就可以看到效果了,比较慢,骚等片刻。
我刚刚测试发现一些内存小的电脑容易直接导致浏览器崩溃、
chrome武装到牙齿了,连字符串都缓存,看不出多大效果、
和速度应该没关系,我是这么认为的。
(function($){
// code
})(jQuery)
jQuery插件众多,你无法确定自己使用的变量或者方法名不于其他插件重名,所以需要将所有插件代码封装到一个匿名函数当中;
由于插件使用了jQuery所以需要导入jQuery到匿名函数中,同时使用$变量引用(因为大家已经习惯了使用$)。当然你在全局下也可以使用$,但是无法完成第一个条件;
封装的代码必须执行,所以要执行匿名函数同时传入jQuery参数。
总结
其实是为了保护$符号,不管外界是否引入了另外有干扰$的库,都不会干扰匿名函数中$就是jQuery的事实,因为他是作为参数被传进去的。
相关
摄像头远程监控看家2026官方最新版本生活服务36.4 MBv1.0.02026-10-06
下载公务员省考最新手机版学习办公57.5 MBv6.09.112026-10-06
下载野性蜂巢(Wild Hive)经营养成267.49 Mv1.66.42026-10-04
下载趣好卖app网上购物74.76 Mv5.2.52026-10-04
下载兔叽月记app医疗健康55.33 Mv1.5.22026-10-04
下载魔力弹神策略游戏33.56 Mv1.0.02026-10-04
下载大破坏幸存者策略游戏62.28 Mv1.0.32026-10-04
下载啃豆小仓拼豆app实用工具41.74 Mv1.32026-10-04
下载方块公国安卓移植版策略游戏1.58Gv1.2.202026-10-04
下载快车顺风车出行2026官方最新版本生活服务82.0 MBv1.1.22026-10-04
下载网约上门按摩2026官方最新版本生活服务73.9 MBv2.0.22026-10-04
下载道运考试通(道路考练工具)学习办公32.8 MBv6.0.12026-10-04
下载










