juquery 中 size()和length的区别 以及优缺点

时间:2022-10-19 14:48:37
size()是jQuery提供的函数,而length是属性(不带括号)。
jQuery提供的源代码是这样的:
size: function() {
return this.length;
}
其实也就是说,在jQuery中使用size(),和length获取没有的值是一样的,不会有差别。 一定要说差别,size()是操作对象实例的方法,定义在jQuery中,只能在jQuery下使用;
length是属性,定义在dom和javascript中,不使用jQuery也可以使用。
两者在效率上有非常细微的差异,size()因为多了一个函数调用,会慢一点(差异小于百万分之一秒),但因为是DOM对象的专属操作,防止了javascript过于灵活造成的歧义,因此在jQuery下,推荐使用size()来获取对象大小和进行语句判断。

jQuery length和size()区别总结如下:
    1.length是属性,size()是方法。
    2.如果你只是想获取元素的个数,两者效果一样s既 $("img").length 和 $("img").size() 获取的值是一样的;但是如果是获取字符串的长度就只得用length, 如 $("#text").val().length

看看官网的解释(http://api.jquery.com/size/):

The .size() method is deprecated as of jQuery 1.8. Use the .length property instead.

The .size() method is functionally equivalent to the .length property; however, the .length property is preferred because it does not have the overhead of a function call.

    jQuery length和size()区别 从上可以看出size()是调用length属性实现的,而且在jquery 1.8后 length取代了 size()  ,因为length不需要返回一个函数调用,更优秀。s