Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.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,在extend()函数中,源代码的输出是 {add:[函数:add],show:[函数:show]}参见第14行 但是在for循环中有另一个新的属性叫做extend??为什么for循环将查看对象的原型链。这是一个很好的例子 为了避免这种情况,可以在循环中生成if语句,检查属性是否是对象的一部分 for (var name in buz) { if (buz.hasOwnProperty(name)) { console.log('this is fog (' + name + ')

extend()
函数中,源代码的输出是

{add:[函数:add],show:[函数:show]}
参见第14行


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

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

为了避免这种情况,可以在循环中生成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
  }
}

请参阅有关的更多详细信息。

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

为了避免这种情况,可以在循环中生成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
  }
}

查看有关的更多详细信息。

请在问题中直接在代码块中添加代码,而不是发布屏幕截图。请在问题中直接在代码块中添加代码,而不是发布屏幕截图。但为什么会增加新属性,因为我输出了结果,结果与最终结果不同。这个新属性从何而来?这就是javascript原型继承的工作原理,它是语言的重要组成部分。要完全解释它超出了stackoverflow的作用范围,请阅读我链接的文章。如果创建一个类和一个子类,那么子类将通过原型链继承该类的所有方法。当您在无法找到的子类实例上调用方法时,它将在原型链中一次向上移动一级,直到找到该方法为止。这就是您创建的所有类都具有所有对象共享的基本方法的方式。非常感谢。在我关于继承的观点中,我认为它只是一个指向超类型原型的指针,所以当我使用for循环时,它将遍历直到对象原型?是吗?确实如此。但是为什么会增加一个新属性,因为我输出了结果,结果与最终结果不同。这个新属性从何而来?这就是javascript原型继承的工作原理,它是语言的重要组成部分。要完全解释它超出了stackoverflow的作用范围,请阅读我链接的文章。如果创建一个类和一个子类,那么子类将通过原型链继承该类的所有方法。当您在无法找到的子类实例上调用方法时,它将在原型链中一次向上移动一级,直到找到该方法为止。这就是您创建的所有类都具有所有对象共享的基本方法的方式。非常感谢。在我关于继承的观点中,我认为它只是一个指向超类型原型的指针,所以当我使用for循环时,它将遍历直到对象原型?是吗?没错。