我正在学习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。指向自定义事件的假人指南的链接也很好
答案 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”标识调用类定义中的方法