爲何要把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>

 

  1. 首先函數會構建做用域,把jQuery傳進去,能夠減小做用域查找。html

    • 若是不把jQuery當參數傳遞,則你使用變量jQuery/$的時候,首先會在函數體內查找,而後進fn查找,最後到window下查找。jquery

    • 而你把jQuery傳進去以後,則只須要在函數體內查找$便可。函數

  2. 若是之後依賴的是Zepto/jqlite,你只須要改下參數就好了,在這種極端的狀況下,下降了代碼修改和可複用成本。code

相關文章
相關標籤/搜索