JavaScript继承对象值

时间:2017-02-27 16:40:20

标签: javascript

enter image description here

enter image description here

extend()函数中,source的输出是

{ add: [Function: add], show: [Function: show] }见第14行

但在for循环中有另一个名为extend的新属性?为什么

1 个答案:

答案 0 :(得分:2)

for循环将查看对象的原型链。这是一个很好的article

为避免这种情况,在循环内部可以创建一个if语句来检查属性是否是对象的一部分。

for (var name in buz) {
  if (buz.hasOwnProperty(name)) {
    console.log('this is fog (' + name + ') for sure. Value: ' + buz[name]);
  }
  else {
    console.log(name); // toString or something else
  }
}

查看有关hasOwnProperty的更多详情。