length property of Array.prototype object - ES 5(Array.Prototype对象的长度属性-ES 5)
问题描述
在function
类型对象中,length
属性表示function
类型对象预期的参数数量。例如,在下面的可视化中,Function
对象、Array
对象中的length
字段具有值1
。
在上面的可视化中,length
字段也是object
类型ObjectArray.prototype
的成员,值为0
。
MDN表示:
Array.prototype.length
反映数组中的元素数量。
按照下面cars
&;bikes
数组中的此定义,
var cars = new Array("Saab", "Volvo", "BMW");
var bikes = ["Honda", "Yamaha"];
cars.__proto__.length
&;bikes.__proto__.length
仍然0
。
多个数组对象(cars
,bikes
)不能共享相同的length
属性值,因为length
属性位于Array.prototype
中。
1)
根据MDN,这是正确的定义吗?
2)
如果没有,Array.prototype
中的length
字段表示什么?
推荐答案
MDN说:
Array.prototype.length
反映数组中的元素数。这是正确的定义吗?
索尔塔,是的。有三个与数组相关的不同.length
属性:
Array.length
。如您所说,它是所有函数都具有的实例("OWN")属性,与数组无关。arr.length
,其中arr
为数组实例(如arr = ['ex', 'ample']
)。每个数组都有这个special property,它的作用有点像getter/setter,自动确定对象具有的最高数组索引属性。Array.prototype.length
是#2的特例,因为Array.prototype
本身只是一个数组对象,默认为空,因此.length == 0
。
cars
、bikes
和Array.prototype
对象都有自己的.length
属性和自己的值(当然,更改其中一个不会更改其他值)。
那么Array.prototype.length
有什么目的呢?实际上不是很多,因为它通常被继承自Array.prototype
的数组对象自己的属性所隐藏。因此,除了因为规范说明Array.prototype
是数组实例并且那些具有该属性的对象存在之外,它还可以作为从Array.prototype
继承的普通(非数组)对象的合理默认值.length
-尽管这种情况非常少见。
这篇关于Array.Prototype对象的长度属性-ES 5的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Array.Prototype对象的长度属性-ES 5
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
- addEventListener 在 IE 11 中不起作用 2022-01-01
- 400或500级别的HTTP响应 2022-01-01
- Flexslider 箭头未正确显示 2022-01-01
- Fetch API 如何获取响应体? 2022-01-01
- 失败的 Canvas 360 jquery 插件 2022-01-01
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01