在这里,我创建了一个名为 d 的对象。
var d={
a:"firstName",
b:"lastName"
};
现在我想创建另一个对象 A,它继承 d 的属性。
var A=Object.create(d);
console.log(A.a);//returns "firstName"
console.log(A.b);//returns "lastName"
但是当我使用 console.log(A);//返回空对象,因为它不显示继承的属性。
但是在与 angular.forEach 一起使用时它不会产生什么问题。
我想使用 angular.forEach 来解析所有属性,包括继承的属性。如何循环访问包括父属性的对象?
我必须使用Object.create,因为父对象是动态的,即它将来可能包含更多对象,并且这些属性将自动出现在子对象中。这里我不能使用 angular.copy,因为它会进行深层复制并破坏父对象之间的关系。
在以前版本的 google chrome 中,还可以查看继承的属性。但是更新到版本43.0.2357.52后,它在控制台中不显示继承的属性
最佳答案
我不知道 Angular 是否有特定的函数(我没有看到),但您可以使用 JavaScript 的 for-in
循环来查看这些函数:
var key;
for (key in d) {
// key will be "firstName" on one pass and "lastName" on another
// there IS NO guarantee of order
}
for-in
访问自己的属性和继承的属性。
关于javascript - 访问 angular.forEach 中的父属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30151545/