JavaScript - Proprietário de "this"
Eu segui umtutorial para criar um cronômetro JavaScript e estou tentando expandi-lo para trabalhar com vários cronômetros (várias instâncias de uma classe). O problema que tenho é quando estou tentando exibir o valor atual enquanto o relógio está correndo. Preciso codificar a instância da classe porque usar "this" não funciona (na linha em que estou usando o console.log). Reduzi o código ao mínimo para tentar entender esse aspecto e colei o que tenho abaixo:
function Timer(){
var time1 = null;
var time2 = null;
var timeLoop = null;
function getTime(){
var day = new Date();
return day.getTime();
}
this.start = function(){
time1 = getTime();
timeLoop = setInterval(function(){
time2 = getTime();
console.log(_Timer.duration());
//console.log(this.duration());
},500);
}
this.duration = function(){
return (time1 - time2) / 1000;
}
}
Acho que o link abaixo descreve meu problema, mas não o entendo o suficiente para aplicá-lo aqui. O problema é devido ao proprietário ser this.start, e não apenas isso, e como posso alterar o código para que ele funcione com qualquer instância do Timer?
http://www.quirksmode.org/js/this.html
Eu incluí a linha de valor codificada e a linha "this" que não funciona.
Obrigado,
Geraint