<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
,你只需要改下参数就行了,在这种极端的情况下,降低了代码修改和可复用成本。