如题,我不理解的是为什么非要把jQuery当参数传给匿名函数,因为把$形参和jQuery实参都去掉,代码运行一点问题都没有?还是说这么做有什么特殊的含义?
heelsj
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
首先函数会构建作用域,把jQuery传进去,可以减少作用域查找。
如果不把jQuery当参数传递,则你使用变量
jQuery/$的时候,首先会在函数体内查找,然后进fn查找,最后到window下查找。而你把jQuery传进去之后,则只需要在函数体内查找
$即可。如果以后依赖的是
Zepto/jqlite,你只需要改下参数就行了,在这种极端的情况下,降低了代码修改和可复用成本。提高js执行速度吧。
据说使用全局变量会比局部变量/函数参数稍微慢一丢丢~