Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/445.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于数组构建的JavaScript对象_Javascript_Arrays_Hash_Hashtable_Javascript Objects - Fatal编程技术网

基于数组构建的JavaScript对象

基于数组构建的JavaScript对象,javascript,arrays,hash,hashtable,javascript-objects,Javascript,Arrays,Hash,Hashtable,Javascript Objects,根据我的阅读资料,在JavaScript中: 对象=哈希表,它们是基于数组构建的。然而,通常说数组是JS中的对象。这两个概念是如何协调的?对象不是构建在数组上的。对象有自己的优化 一般而言: 对象用于“结构”、具有可预测“形状”的结构和预先已知的键(即使它们可以与动态键一起使用,也应该使用贴图。请参见下文) 数组用于列表(以及队列和堆栈)、键为数字或元素顺序重要的结构。数组是“特殊”对象,而不是相反。(与任何对象一样,您可以在数组中放置基于字符串的属性。但请不要这样做) 用于哈希表/字典,即键

根据我的阅读资料,在JavaScript中:


对象=哈希表,它们是基于数组构建的。然而,通常说数组是JS中的对象。这两个概念是如何协调的?

对象不是构建在数组上的。对象有自己的优化

一般而言:

  • 对象用于“结构”、具有可预测“形状”的结构和预先已知的键(即使它们可以与动态键一起使用,也应该使用贴图。请参见下文)
  • 数组用于列表(以及队列和堆栈)、键为数字或元素顺序重要的结构。数组是“特殊”对象,而不是相反。(与任何对象一样,您可以在数组中放置基于字符串的属性。但请不要这样做)
  • 用于哈希表/字典,即键是动态的且事先未知的结构

10秒谷歌给出:,而对象不是建立在数组上的——相反。也许你的意思是:
typeof[]//返回object
或this
new String()
我宁愿说JS中的所有内容都是基于对象构建的。
myArr=['this'、'is'、'an'、'array']
实际上是
{0:'this',1:'is',2:'an',3:'array'}
幕后的。