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