В JavaScript, как я могу вызвать метод класса из другого метода того же класса?
у меня есть это:
var Test = new function() {
this.init = new function() {
alert("hello");
}
this.run = new function() {
// call init here
}
}
Я хочу позвонить init
внутри run. Как мне это сделать?
4 ответов
использовать this.init()
, но это не единственная проблема. Не вызывайте новые внутренние функции.
var Test = new function() {
this.init = function() {
alert("hello");
};
this.run = function() {
// call init here
this.init();
};
}
Test.init();
Test.run();
// etc etc
вместо этого, попробуйте написать так:
function test() {
var self = this;
this.run = function() {
console.log(self.message);
console.log("Don't worry about init()... just do stuff");
};
// Initialize the object here
(function(){
self.message = "Yay, initialized!"
}());
}
var t = new test();
// Already initialized object, ready for your use.
t.run()
попробуйте это,
var Test = function() {
this.init = function() {
alert("hello");
}
this.run = function() {
// call init here
this.init();
}
}
//creating a new instance of Test
var jj= new Test();
jj.run(); //will give an alert in your screen
спасибо.
var Test = function() {
this.init = function() {
alert("hello");
}
this.run = function() {
this.init();
}
}
Если я что-то не пропустил здесь, вы можете удалить "новое" из своего кода.