在extend()
函数中,源的输出是
{ add: [Function: add], show: [Function: show] }
参见第 14 行
但是在for循环中还有另一个新属性叫做extend??为什么
最佳答案
for 循环将查看对象的原型(prototype)链。这是一个很好的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 的更多详细信息.
关于JavaScript 继承对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42491057/