在Chrome 42.0中,我使用myArray
,
var myArray = [1,2]
分配了一个值
我希望Object.getPrototypeOf(myArray)
会像这样(来自here的屏幕截图)..
但是,当我在REPL中评估代码时,我只得到一个空列表:
有没有人对此有任何想法?
答案 0 :(得分:5)
因为控制台正试图为您提供最有用的代表性。它看到你传递给它的是一个数组(Array.isArray(Object.getPrototypeOf([1,2]))
是true
),因此它使用其显示数组的机制显示它。由于原型数组是空的,因此您只看到[]
。
它对非数组对象也有同样的作用:
Object.getPrototypeOf({foo:"bar"}) => Object {}
(我正在使用Chrome。)
游戏机对你传递的内容做了相当多的解释。有些解释并不总是有用的。例如:
var a = []; => undefined a.foo = "bar"; => "bar" a => []
console.log(a)
显示更有用的
[foo:"bar"]
,例如,具有非元素属性foo
的数组,其值为"bar"
。