javascript - understanding MDN's example of bind -


hey guys have been trying learn bind() method in js , have found few helpful resources in so , mdn , git explain rather , still bit confused practical example found on mdn. below code talking :

function latebloomer() {   this.petalcount = math.ceil(math.random() * 12) + 1; }  // declare bloom after delay of 1 second latebloomer.prototype.bloom = function() {   window.settimeout(this.declare.bind(this), 1000); };  latebloomer.prototype.declare = function() {   console.log('i beautiful flower ' +     this.petalcount + ' petals!'); };   

now bind function call() or apply() , thats understood far , , can delay execution of function while preserving or rather binding value of this specific function .

now in below lines of code :

latebloomer.prototype.bloom = function() {       window.settimeout(this.declare.bind(this), 1000);     };  

what 1st this pointing ? , secound this pointing ?

in this.declare.bind(this), first this used current object's declare method. use bind create new function call method specific this value, , that's argument bind(). happens we're binding current object, use this in both place, don't have to. write:

var = new latebloomer; settimeout(this.declare.bind(another), 1000); 

this gets current object's declare method, , arranges call on another in 1 second.


Comments

Popular posts from this blog

jquery - How do you format the date used in the popover widget title of FullCalendar? -

asp.net mvc - SSO between MVCForum and Umbraco7 -

Python Tkinter keyboard using bind -