Answer:
, , ( , , ), . , , ( ) rotate, , , rotate.
, , this.rotate . ? - :
var r = new Rotator();
setInterval(r.rotate, 1000);
( rotate):
setInterval(this.rotate, 1000);
... , ( ) setInterval. :
var r = new Rotator();
setInterval(r.rotate.bind(r), 1000);
( rotate):
setInterval(this.rotate.bind(this), 1000);
Function # bind, , . Javascript .
:
var Rotator = Class.create() {
...
}
var Rotator = Class.create({
...
});
. , , :
var Rotator = Class.create({
initialize: function() {
this.rotate();
},
rotate: function() {
this.rotate();
}
return pubs;
});
( ):
FWIW, , , , (as , ) ( ). , ( , , - ):
var Rotator = Class.create((function(){
var pubs = {};
pubs.initialize = initialize;
function initialize() {
this.rotate();
}
pubs.rotate = rotate;
function rotate() {
this.rotate();
}
return pubs;
})());
( pubs function ) .