最赞回答 / heym
jquery寻找参数是通过作用域链实现的,所以当传入underfined的时候,就不用一层层向上寻找underfined了,效率有所提高,另一点,因为浏览器的种类和版本的不同可以对underfined进行赋值,(尤其是IE浏览器,版本的不同对于underfined的赋值后,显示underfined有所不同),所以为了体现underfined的本意,防止underfined被人为的赋值,所以jquer自调用函数把underfined参数传入,防止误赋值
2015-11-21
为什么要用jQuery.fn这个所谓的命名空间,jQuery里又没有多个命名空间,这个在这里有画蛇添足的作用,直接去掉多好??????
2015-11-20
最新回答 / hnull
你好,我当时也是对这个感到疑惑,这边说下我的理解,fn就是prototype的别名,简称, 之所以要这么做,其实就是prototype作为一个关键字是没办法被压缩的,所以好处就是fn可以减少代码量,jq库里面有很多地方都是 $.fn.extend(...),其实是完全等价于$.prototype.extend(...), 所以主要应该就只有减少代码量而已。
2015-11-20
$("#test1").click(function(){
//直接处理
var foo = $('ul.first');
foo.find('.foo').css('background-color', 'red')
foo.find('.bar').css('background-color', 'green');
})
//直接处理
var foo = $('ul.first');
foo.find('.foo').css('background-color', 'red')
foo.find('.bar').css('background-color', 'green');
})
2015-11-19