javascript - 为什么要把jQuery当参数传给匿名函数?
本文介绍了javascript - 为什么要把jQuery当参数传给匿名函数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
如题,我不理解的是为什么非要把jQuery当参数传给匿名函数,因为把$形参和jQuery实参都去掉,代码运行一点问题都没有?还是说这么做有什么特殊的含义?
<body>
<div class="left"></div>
<div class="right">heelsj</div>
</body>
<script src="jquery-3.1.0.js"></script>
<script>
var fn = function(){
return (function($){
console.log($('.right').html());
})(jQuery)
}();
</script>
解决方案
-
首先函数会构建作用域,把jQuery传进去,可以减少作用域查找。
如果不把jQuery当参数传递,则你使用变量
jQuery/$
的时候,首先会在函数体内查找,然后进fn
查找,最后到window下查找。而你把jQuery传进去之后,则只需要在函数体内查找
$
即可。
如果以后依赖的是
Zepto/jqlite
,你只需要改下参数就行了,在这种极端的情况下,降低了代码修改和可复用成本。
这篇关于javascript - 为什么要把jQuery当参数传给匿名函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文