prototype printing undefined in console with setInterval function in javascript -
this question has answer here:
- how “this” keyword work? 19 answers
i trying print in prototype function using setinterval it's showing undefined in console.
function newfunc(){ this.name = "this person name"; this.age = "16 years"; } newfunc.prototype.init = function(){ setinterval(function(){newfunc.prototype.xyz()}, 1000); } newfunc.prototype.xyz = function(){ console.log(this.age); } var abc = new newfunc(); abc.init();
its inside function.so apply this.xyz()
.this
declare variable , apply setinterval(copy.xyz())
why use this
this.xyz()
applicable on newfunc.prototype.init
.not ah setinteval(function (){})
.these 2 function seperate. passing setinterval function .we need 1 variable.so declare var copy
function newfunc(){ this.name = "this person name"; this.age = "16 years"; } newfunc.prototype.init = function(){ var copy = this;//in `this` applicable newfunc.prototype.init.it copy variable setinterval(function(){//in function different. copy.xyz()//passing variable , excute function }, 1000); } newfunc.prototype.xyz = function(){ console.log(this.age); } var abc = new newfunc(); abc.init();
Comments
Post a Comment