HTML and CSS Reference
In-Depth Information
Next, you must create the private method called
updateTime
. This will update the
current playback time for the track. This method also checks to see whether the
total track length has been reached by the
currentTime
. If it has, then it will stop
the track.
app.track = function(length){
...
var setCurrentTime = function(time){
currentTime = time;
_self.callbacks.didUpdateTime.call(_self, currentTime);
};
var updateTime = function(){
if(currentTime < length){
setCurrentTime(currentTime + updateInterval);
} else {
_self.stop();
}
};
}
You will notice that
_self
is being used here. This is not a global JavaScript
variable but the
_self
variable that you declared earlier.
updateTime
is called out
of the scope of the track class/object, so
_self
maintains a reference back to it.
This is better known as a closure.
Next, you will declare several getter and setters. You create this so that you can
access the private variables outside of the scope of the object. This is handy
when you do not want objects to change properties of another object. For
instance, the
currentTime
should never be manipulated outside of the object,
but outside objects should be able to find out the current playback time of the
track. Using a getter without a setter prevents outside objects from changing
this value.
app.track = function(length){
...
this.getCurrentTime = function(){
return currentTime;
};
this.getLength = function(){
return length;
};