以下のコードでstartをグローバル変数として定義していますが、DateオブジェクトのインスタンスはstartClick関数内で定義しています。
それにも関わらず、startClick関数内で定義したDateオブジェクトのインスタンスをgoTimer関数内で使用しても処理が動いてしまう理由がわかりません。
DateオブジェクトのインスタンスはstartClick関数内で定義しているのでstartClick関数外では再定義しないと使用できないという理解だったのですが。。。
startClick関数内で定義したDateオブジェクトのインスタンスをgoTimer関数内で使用しても処理が動いてしまう理由をご教授しただけると幸いです。
JavaScript
1var start; 2 3var startClick = function() { 4 var start = new Date(); 5 6 setInterval(goTimer, 1000); 7} 8 9 10 document.getElementById('start_stop').addEventListener('click', startClick, true); 11 12 var goTimer = function() { 13 var now = new Date(); 14 document.getElementById('timer').innerHTML = now.getTime() - start.getTime(); 15 } 16
回答2件
あなたの回答
tips
プレビュー