javascript - 访问 angular.forEach 中的父属性

标签 javascript angularjs javascript-objects

在这里,我创建了一个名为 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/

相关文章:

javascript - 查找和替换文本区域

javascript - 单击图像 jQuery - 函数在附加后不起作用

javascript - 返回值作为对象属性

javascript - AngularJS UI 路由器 : ui-sref not updating URL in address bar?

javascript - 对象中的 toString() 方法行为

javascript - 在单独的对象中查找匹配值

javascript - 使用选择标签进行选择后禁用选择?

javascript - 检查元素是否被悬停

javascript - 如何确定 WinJS.Promise 是否被超时或 cancel() 调用取消

javascript - 使用特殊字符的 AngularJs Web 组件