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