Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否有一个方法可以返回javascript中对象的所有属性?_Javascript - Fatal编程技术网

是否有一个方法可以返回javascript中对象的所有属性?

是否有一个方法可以返回javascript中对象的所有属性?,javascript,Javascript,Object.keys(obj)返回对象自身的可枚举属性,这类似于Object.hasOwnProperty(),后者为true。我要寻找的是一个函数,它将提供所有属性,甚至来自原型链,用于迭代对象的所有属性: var myObject={ownProp:1}; for(让道具插入myObject){ 控制台日志(道具); }用于迭代对象的所有属性: var myObject={ownProp:1}; for(让道具插入myObject){ 控制台日志(道具); }这个问题得到了回答。它没有

Object.keys(obj)
返回对象自身的可枚举属性,这类似于
Object.hasOwnProperty()
,后者为true。我要寻找的是一个函数,它将提供所有属性,甚至来自原型链,用于迭代对象的所有属性:

var myObject={ownProp:1};
for(让道具插入myObject){
控制台日志(道具);
}
用于迭代对象的所有属性:

var myObject={ownProp:1};
for(让道具插入myObject){
控制台日志(道具);

}
这个问题得到了回答。它没有内置的方法

Bergi的建议:(使用
.getPrototypeOf()
遍历原型链,递归地获取每个对象的属性)

var myObj={ownProp1:1,ownProp2:2};
函数logAllProperties(obj){
if(obj==null)返回;//递归方法
log(Object.getOwnPropertyNames(obj));
logAllProperties(Object.getPrototypeOf(obj));
}

对数属性(myObj)这个问题得到了回答。它没有内置的方法

Bergi的建议:(使用
.getPrototypeOf()
遍历原型链,递归地获取每个对象的属性)

var myObj={ownProp1:1,ownProp2:2};
函数logAllProperties(obj){
if(obj==null)返回;//递归方法
log(Object.getOwnPropertyNames(obj));
logAllProperties(Object.getPrototypeOf(obj));
}

对数属性(myObj)
for in
将在原型链中的每个属性上循环。
for in
将在原型链中的每个属性上循环。谢谢,我使用了它并创建了
Object.allKeys=function(o){var arr=[];for(让prop in o){arr.push(prop);}return arr;}
希望这是正确的。@Neelotpal成功了吗?谢谢,我使用了它并创建了
Object.allKeys=function(o){var arr=[];for(让prop进入o){arr.push(prop);}return arr;}
希望这是正确的。@Neelotpal成功了吗?