Я определяю ' класс ' в JavaScript с помощью прототипа.
При первом запуске func () он работает, но при втором вызове через setTimeout происходит сбой, поскольку в этот раз он потерял контекст объекта, т.е.больше не ссылается на объект, но теперь ссылается на window .
Есть ли способ, которым я могу преодолеть это, все еще используя прототип?или мне нужно вместо этого использовать замыкания для определения ' class '?
function klass(){}
klass.prototype = {
a: function() {
console.log( "Hi" );
},
func: function(){
this.a();
setTimeout( this.func, 100 );
}
};
var x = new klass();
x.func();