这里发生了什么?
var x = {length:3, '0':'foo', '1':'bar','2':'f', splice:function(){}}
这实际上创建了一个数组:
["foo", "bar", "f"]
这种结构语法的文档在哪里?
它也很聪明:
更改为:(注意 0 、 1 、 3)
var x = {length:3, '0':'foo', '1':'bar','3':'f', splice:function(){}}
会弄乱数组,它将是:
["foo", "bar", undefined × 1]
此外,删除拼接功能:
var x = {length:3, '0':'foo', '1':'bar','2':'f'}
产量:(常规对象)
Object
0: "foo"
1: "bar"
2: "f"
length: 3
__proto__: Object
所以我有两个问题:
这是什么结构?
length , element , splice
假设我有
['john','paul','yoko']
,现在我想创建对象var x = {length:3, '0':'john', '1':'paul','2':'yoko', splice:function(){}}
我该怎么做?