Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.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,如果在一个Javascript类中,最初添加的属性很少,并且可以通过prototype获得。现在,如果向该类添加了一些新属性或函数,那么如何访问所有现有的和新创建的函数。请注意,并非每个人都可以随时使用该类 function Foo(){ this.name=""; this.place=""; } 在House.js中,我使用了Foo.prototype=House() 在college.js中,我使用了Foo.prototype=college() 现在这个Foo()被修改

如果在一个Javascript类中,最初添加的属性很少,并且可以通过prototype获得。现在,如果向该类添加了一些新属性或函数,那么如何访问所有现有的和新创建的函数。请注意,并非每个人都可以随时使用该类

function Foo(){
    this.name="";
    this.place="";
}
House.js
中,我使用了
Foo.prototype=House()

college.js
中,我使用了
Foo.prototype=college()

现在这个Foo()被修改为

function Foo(){
    this.name="";
    this.place="";
    var books=function Books(){...some implementaion};
}
如果在修改课程前后
House.books
会发生什么情况。

首先:

Foo.prototype = House();
Foo.prototype = College();
那不行。学院原型将取代房屋原型,因此第一个作业无效

在构造函数内创建局部变量只会使该变量在该函数内可用。我想你的意思是:

function Foo(){

  this.name="";
  this.place="";

  this.books=function Books(){...some implementaion};
}

这将把
books
属性添加到对象的所有实例中,因此无论您在原型中放置什么,它都是可用的,即使原型中有一些同名的属性。

您的意思是这样说的吗。books=。。。内部Foo(){}?现在你只是把它放在一个局部变量中。代码在我看来有点混乱。例如,
Foo.prototype=College()只需覆盖前一行中的更改,那么重点是什么?另外,您不能“修改”一个函数,您可以用另一个函数覆盖,但是它与之前的功能没有任何关系。抱歉,正确编辑
House。使用此代码,书籍在任何情况下都不会存在。House和College不是同时使用的。我的想法是它只是对两个不同文件的一种分配,即House.js和College,js…这个案子有什么问题吗effects@GustyWind:如果对任何特定对象只使用一个或另一个,则这不是问题。