Javascript 使用Object.keys()打印属性

Javascript 使用Object.keys()打印属性,javascript,prototype,Javascript,Prototype,我试图使用Object.keys()方法打印对象的自身属性(不包括prototype属性) var obj = { name : "Jane" } keys = Object.keys(obj); //["name"] 当我这样做的时候 console.log("length" in keys) //It is printing true? 我相信“长度”来自原型。为什么它存在于键数组中?对象。键()返回一个数组和 来自文件 key()方法返回给定对象自身可枚举属性的数组,其顺序与

我试图使用
Object.keys()
方法打印
对象的
自身属性(不包括
prototype
属性)

var obj = {
    name : "Jane"
}

keys = Object.keys(obj); //["name"]
当我这样做的时候

console.log("length" in keys) //It is printing true?
我相信
“长度”
来自
原型。为什么它存在于
数组中?

对象。键()
返回一个
数组

来自文件

key()方法返回给定对象自身可枚举属性的数组,其顺序与for…in循环提供的顺序相同(区别在于for in循环也枚举原型链中的属性)

Object.keys()
返回一个
数组

来自文件

key()方法返回给定对象自身可枚举属性的数组,其顺序与for…in循环提供的顺序相同(区别在于for in循环也枚举原型链中的属性)

为什么它存在于密钥数组中

它确实存在于
keys数组
中,因为
keys
数组的一个实例,并且数组具有属性
length

这相当于说

if ( "length" in keys)
{ 
  console.log(true)
}
也可以在这里查看文档

如果指定的属性位于 指定的对象

为什么它存在于密钥数组中

它确实存在于
keys数组
中,因为
keys
数组的一个实例,并且数组具有属性
length

这相当于说

if ( "length" in keys)
{ 
  console.log(true)
}
也可以在这里查看文档

如果指定的属性位于 指定的对象


如果您想添加。。不确定“它检查数组的原型”它确实存在于keys数组中。数组实例有自己的长度属性。请看@FizzyTea更正了我的帖子,我没有正确地表达我之前说过的话。如果你想添加,谢谢。。不确定“它检查数组的原型”它确实存在于keys数组中。数组实例有自己的长度属性。请看@FizzyTea更正了我的帖子,我没有正确地表达我之前说过的话。谢谢你把数组和数组混淆了
length
keys
的属性,而不是
obj
的属性。这会混淆数组的属性<代码>长度
的属性,而不是
对象
的属性。