size()跟length同样的功能,都是取元素的个数,那么他们的区别是什么呢,一个是方法一个是属性?
从图中可以看到size()方法比length慢38%,原因何在?
size: function () { return this.length; }
可以看到size()的实质是调用对象的length属性实现的;
意思是说在jquery 1.8里面,用length取代了size(),size()跟length功能是等同的,但是length更优秀,因为他不需要返回一个函数调用.
一定要说差别,size()是操作对象实例的方法,定义在jQuery中,只能在jQuery下使用;
length是属性,定义在dom和javascript中,不使用jQuery也可以使用。
两者在效率上有非常细微的差异,size()因为多了一个函数调用,会慢一点(差异小于百万分之一秒),但因为是DOM对象的专属操作,防止了javascript过于灵活造成的歧义,因此在jQuery下,推荐使用size()来获取对象大小和进行语句判断。