length与size的区别
用了很长时间的length的一直没考虑过其与size的区别,今天同事问起,特意查找资料,将两者的相同点与共同点列出来。
相同点:在jQuery中用于返回元素的个数,size()函数与length属性的作用相同。size()方法的返回值与jQuery对象的length属性一致。
语法
$("selector").size()
$("selector").length
实例代码
<div>
<ul>
<li>后台专区</li>
<li>前台专区</li>
<li>数据库专区</li>
<li>站长交流</li>
</ul>
</div>
$("li").size==$("li").length //4
区别:
一、首先注意的size的用法是size(),size()函数是jQuery方法,属于jQuery对象(实例),用于返回当前jQuery对象封装的元素个数,不能再原生js中使用。length是js原生的方法(属性)?。
二、获取字符串的长度就只得用length, 如 $("#text").val().length,不能用size
三、获取一个数组的长度或者参数的长度也是只能用lenth,如arry.length,不能用size.
四、jQuery length和size()区别 从上可以看出size()是调用length属性实现的,而且在jquery 1.8后 length取代了 size() ,因为length不需要返回一个函数调用,更优秀。
补充:
关于input的属性的length与size
input的size,定义输入字段的宽度。size 属性定义的是可见的字符数。而对于其他类型,size 属性定义的是以像素为单位的输入字段宽度。
<input type="text" size="value"> value为数字
还有规定最小长度与最大长度
maxlength:值是bumber类型,规定输入字段中的字符的最大长度。
max:规定输入字段的最大值。请与 “min” 属性配合使用,来创建合法值的范围。
min:规定输入字段的最小值。请与 “max” 属性配合使用,来创建合法值的范围。
min和max属性可以定input元素指定最小值和最大值
min和max属性可以用于以下input类型:number, range, date, datetime, datetime-local, month, time and week.
<form action="demo_form.asp">
Enter a date before 1980-01-01:
<input type="date" name="bday" max="1979-12-31"><br />
Enter a date after 2000-01-01:
<input type="date" name="bday" min="2000-01-02"><br />
Quantity (between 1 and 5):
<input type="number" name="quantity" min="1" max="5" /><br />
<input type="submit" />
</form>
在查询的资料的时候,又看到如何获取对象的长度,对象的长度不能同过length来获取,主要有两种方法,;了解一下
一、通过Object.keys(),这个方法主要接受一个对象返回实例中可枚举的属性的数组
var obj = {'id':1,'name':'叶落森','sex':'女'};
var arr = Object.keys(obj);
console.log(arr); // ['id','name','sex']
console.log(arr.length); //3
二、通过for…in…
var i=0;
for(x in obj){
i++;
}
console.log(i)