JS数组中length属性

JavaScript015

JS数组中length属性,第1张

当我们修改数组的时候, length 属性会自动更新。准确来说,它实际上不是数组里元素的个数,而是最大的数字索引值加一。

例如,一个数组只有一个元素,但是这个元素的索引值很大,那么这个数组的 length 也会很大:

要知道的是我们通常不会这样使用数组。

length 属性的另一个有意思的点是它是可写的。

如果我们手动增加它,则不会发生任何有趣的事儿。但是如果我们减少它,数组就会被截断。该过程是不可逆的,下面是例子:

所以,清空数组最简单的方法就是: arr.length = 0

.length:

js 的原生方法,用于获取元素的个数和对象的长度

var length = $(obj).length

.size():

size()属于 jQuery 方法,只能作用于对象上,获取元素的个数

var size = $(obj).size()

注:

1、使用 length 属性之前,请对对象做判空校验

2、如果想要获取字符串的长度只能用 length 属性,如

var length = $(obj).html().length

单个对象是没有length属性的,obj.length --- undefined如果返回的是一个数组,会有length属性的,例如:var divObjs = document.getElementsByTagName("div")这个是会返回一个div的数组的。你说的“可是如果不是数组,objxxx.length依然存在啊,并且返回字符串的个数。”,我想你这个objxxx就不是对象,或者只是个字符串了。你可以alert(objxxx)看是不是会是Object。己以愚见,还请谅解!