老是混淆length和size,今天专门区分一下javascript
1.length属性是针对Java中的数组来讲的,要求数组的长度能够用其length属性;java
2.length()方法是针对String字符串来讲的,要求一个字符串的长度就使用length()方法;jquery
3.size()方法是针对泛型集合来讲的,若是想看这个集合有多少个元素,就使用此方法来查看;数组
public static void main(String[] args) { //数组长度用length属性 String[] arr = {"core","bean","context"}; System.out.println("arr.length:"+arr.length); //字符串长度用length()方法 String str = "Spring"; System.out.println("str.length():"+str.length()); //集合长度用size()方法 ArrayList<String> list = new ArrayList<>(); list.add(str); System.out.println("list.size():"+list.size()); }
size()是jQuery提供的方法,它的源码以下dom
size: function() { return this.length; }
也就是说,在jQuery中,使用size()和length获取到的值是同样的,没有区别,this
用法上,size()是实例方法,length是实例属性 size()是JQuery专用,length是定义在dom和js中的属性,不使用jquery也能够使用spa
用size()来获取对象大小.虽然多了一层引用,速度会慢上一些,但这个慢几乎能够忽略不计,同时,由于是jQuery对于DOM对象的专属操做,防止了javascript过于灵活形成的歧义,因此在jQuery下,推荐使用size().code