创建仿冒init的JavaScript自动启动方法?

时间:2018-11-01 12:09:38

标签: javascript oop initialization custom-events

我正在学习JavaScript中的OOP方法,遇到了一个麻烦,当我创建一个Class的实例时,我希望它能够运行一组内部函数。

据我所知,它与许多其他语言中的init函数类似。

一个简单的例子是:

function human(name, age){

this.name = name;
this.age = age;

this.init = function(){
    console.log("hi my name is "+this.name+" and I am "+this.age+" years old.");
}//end of this.init

}//end of class human

var fred = new Human("fred", 30);
fred.init();

我希望fred.init自动运行,而不必显式调用它。我了解这是一个事件,所以我想到了一个EventListener:

this.addEventListener("initialization", this.init);

被放到了课程里面,但是我还没有找到正确的事件。我已经开始研究自定义事件,但是我在这里全无所获,而且即使我全神贯注,我仍然不知道如何描述初始化。

如果有人能指出正确的方向(如果不是完整的解决方案),我将不胜感激。

谢谢

禅宗

p.s。指向自定义事件的假人指南的链接也很好

1 个答案:

答案 0 :(得分:0)

好的,所以我有点不高兴,如果其他任何人都遇到这个问题,解决方案将变得非常简单:

function human(name, age){

  this.name = name;
  this.age = age;

  this.init = function(){
    console.log("hi my name is "+this.name+" and I am "+this.age+" years old.");
  }//end of this.init

  this.init();

}//end of class human
var fred = new Human("fred", 30);

您所要做的就是使用“ this”标识调用类定义中的方法