<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傳進去,能夠減小做用域查找。html
若是不把jQuery當參數傳遞,則你使用變量jQuery/$
的時候,首先會在函數體內查找,而後進fn
查找,最後到window下查找。jquery
而你把jQuery傳進去以後,則只須要在函數體內查找$
便可。函數
若是之後依賴的是Zepto/jqlite
,你只須要改下參數就好了,在這種極端的狀況下,下降了代碼修改和可複用成本。code