JavaScript 创建模拟 init 时的自动启动方法?

JavaScript autostart method on creation mimic init?

我正在学习 JavaScript 中的面向对象编程,但遇到了障碍,当我创建 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);

被放入 class 但我没有找到正确的事件。我已经开始研究自定义事件,但我完全不知所措,而且我仍然不知道如何描述初始化,即使我已经全神贯注了。

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

谢谢

p.s。 link 一个自定义的傻瓜事件指南也很好

好的,所以我有点傻,如果其他人有这个问题,解决方案很简单:

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" iden

在 class 定义中调用方法