在 Chrome 42.0 中,我使用
myArray
,为
var myArray = [1,2]
赋值
我希望
Object.getPrototypeOf(myArray)
会是这样的(截图来自这里)..
但是,当我在 REPL 中评估代码时,我只得到一个空列表:
有人对此有什么想法吗?
因为控制台正在尝试为您提供您所要求的最有用的表示。它看到您传递给它的是一个数组(
Array.isArray(Object.getPrototypeOf([1,2]))
是true
),因此它使用其显示数组的机制来显示它。由于所有数组继承的原型数组都是空的,所以你只会看到[]
。
它对非数组对象做同样的事情:
Object.getPrototypeOf({foo:"bar"}) => 对象{}
(我正在使用 Chrome。)
控制台会对您传递给它们的内容进行相当多的解释。其中一些解释并不总是有用。示例:
var a = []; => 未定义 a.foo = "酒吧"; =>“酒吧” A => []
而
console.log(a)
显示更有用
[富:“酒吧”]
例如,具有非元素属性
foo
的数组,其值为 "bar"
。