在 Chrome 42.0 中,我使用 var myArray = [1,2]
为 myArray
赋值,
我希望 Object.getPrototypeOf(myArray)
会像这样(来自 here 的屏幕截图)..
但是,当我在 REPL 中评估代码时,我只得到一个空列表:
有没有人对此有任何想法?
最佳答案
因为控制台正在努力为您提供最有用的您所要求的表示。它看到你传递给它的是一个数组(Array.isArray(Object.getPrototypeOf([1,2]))
是 true
),所以它显示了它使用其显示数组的机制。由于原型(prototype)数组是空的,您只会看到 []
。
它对非数组对象做同样的事情:
Object.getPrototypeOf({foo:"bar"}) => Object {}
(我使用的是 Chrome。)
控制台会对您传递给它们的内容进行一些解释。有些解释并不总是有用的。示例:
var a = []; => undefined a.foo = "bar"; => "bar" a => []
而 console.log(a)
显示更有用
[foo:"bar"]
例如,具有非元素属性 foo
且值为 "bar"
的数组。
关于javascript - 在 Javascript 中,为什么 Object.getPrototypeOf([1,2]) 返回一个空列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30343139/