Javascript 在一个数组中,长度是预先计算的还是每次通过迭代计算的?
样本数据 arrayList=['1','2','3','4','5'] arrayList.length为5 当我执行Javascript 在一个数组中,长度是预先计算的还是每次通过迭代计算的?,javascript,arrays,data-structures,programming-languages,Javascript,Arrays,Data Structures,Programming Languages,样本数据 arrayList=['1','2','3','4','5'] arrayList.length为5 当我执行arrayList.length时,幕后的动作是什么 迭代arrayList并返回长度 或 长度在用于阵列的数据结构处预先计算 PS:我正在使用JavaScript,但想知道跨各种语言的一般行为说到JS,数组的长度存储为对象属性。因此,它是现成的。它不会每次执行array.length 注意(应该是一个注释,但我对此缺乏声誉)说到JS,数组的长度存储为一个对象属性。因
arrayList.length
时,幕后的动作是什么
- 迭代arrayList并返回长度
- 长度在用于阵列的数据结构处预先计算
PS:我正在使用JavaScript,但想知道跨各种语言的一般行为说到JS,数组的长度存储为对象属性。因此,它是现成的。它不会每次执行
array.length
注意(应该是一个注释,但我对此缺乏声誉)说到JS,数组的长度存储为一个对象属性。因此,它是现成的。它不会每次执行
array.length
注意(应该是一个注释,但我对此缺乏声誉)在Javascript中,您可以更改数组的长度。但是
array.length
是一个属性。它不是每次都通过计算元素来“计算”的
请注意,当您为数组的length属性指定新值时,运行时系统将为您处理数组的增长或收缩
我想了解不同语言的一般行为
你不能一概而论:
- 某些语言允许您更改数组的大小;例如Python、Ruby等。这不一定是通过指定长度或大小属性来完成的
- 例如,在Python中,数组(或列表)的长度不是属性。它是
函数返回的值。可以通过添加和删除元素来更改Python数组的大小len
- 在Ruby中,数组的长度是只读属性
- 例如,在Python中,数组(或列表)的长度不是属性。它是
- 其他语言不允许更改基元数组的长度;例如Java、Ada等
- 对于某些语言(C、BCPL),数组的长度不是其运行时值的一部分。(实际上,在BCPL中,数组甚至不是一种类型。)这意味着应用程序无法访问数组的长度。它必须作为一个单独的变量来处理,或者通过(比如)零终止约定来推导。(后者意味着通过迭代计算数组的概念长度,但需要担心溢出。)
array.length
是一个属性。它不是每次都通过计算元素来“计算”的
请注意,当您为数组的length属性指定新值时,运行时系统将为您处理数组的增长或收缩
我想了解不同语言的一般行为
你不能一概而论:
- 某些语言允许您更改数组的大小;例如Python、Ruby等。这不一定是通过指定长度或大小属性来完成的
- 例如,在Python中,数组(或列表)的长度不是属性。它是
函数返回的值。可以通过添加和删除元素来更改Python数组的大小len
- 在Ruby中,数组的长度是只读属性
- 例如,在Python中,数组(或列表)的长度不是属性。它是
- 其他语言不允许更改基元数组的长度;例如Java、Ada等
- 对于某些语言(C、BCPL),数组的长度不是其运行时值的一部分。(实际上,在BCPL中,数组甚至不是一种类型。)这意味着应用程序无法访问数组的长度。它必须作为一个单独的变量来处理,或者通过(比如)零终止约定来推导。(后者意味着通过迭代计算数组的概念长度,但需要担心溢出。)