javascript - 为什么要把jQuery当参数传给匿名函数?

查看:125
本文介绍了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>

解决方案

  1. 首先函数会构建作用域,把jQuery传进去,可以减少作用域查找。

    • 如果不把jQuery当参数传递,则你使用变量jQuery/$的时候,首先会在函数体内查找,然后进fn查找,最后到window下查找。

    • 而你把jQuery传进去之后,则只需要在函数体内查找$即可。

  2. 如果以后依赖的是Zepto/jqlite,你只需要改下参数就行了,在这种极端的情况下,降低了代码修改和可复用成本。

这篇关于javascript - 为什么要把jQuery当参数传给匿名函数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆