Within my a certain function of a class, I need to use setInterval
to break up the execution of the code. However, within the setInterval
function, "this" no longer refers to the class "myObject." How can I access the variable "name" from within the setInterval
function?
function myObject() {
this.name = "the name";
}
myObject.prototype.getName = function() {
return this.name;
}
myObject.prototype.test = function() {
// this works
alert(this.name);
var intervalId = setInterval(function() {
// this does not work
alert(this.name);
clearInterval(intervalId);
},0);
}
myObject.prototype.test = function() {
// this works
alert(this.name);
var oThis = this;
var intervalId = setInterval(function() {
// this does not work
alert(oThis.name);
clearInterval(intervalId);
},0);
}
This should work. The anonymous function's "this" is not the same "this" as your myObject's "this."
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With