我希望浏览器显示自上次刷新以来的秒数。我不明白为什么 代码1不起作用; 代码2确实; 如果代码1不工作为什么代码3工作?在代码1和代码3中调用setInterval
类似。函数的定义方式不同。但是我不清楚为什么这有所作为。有人可以请解释这个JavaScript代码中发生了什么?
非常感谢您的帮助。我刚开始学习JavaScript。
CODE 1
<html>
<head>
<title>Time Since Refresh</title>
</head>
<body>
<br/>
<br/>
<span id="timeSinceStart"></span>
<script language="JavaScript">
var timeRefreshed = new Date();
function displayTimeSinceStart(){
var now = new Date();
//compute elapsed time
var elapsed = Math.round((now - timeRefreshed)/1000);
document.getElementById("timeSinceStart").innerHTML = "Time Elapsed: " + elapsed + " seconds.";
}
// Update seconds counter
setInterval(displayTimeSinceStart(), 1000);
</script>
</body>
</html>
CODE 2 同CODE 1,除了0函数写为
setInterval("displayTimeSinceStart();", 1000);
CODE 3
<html>
<head>
<title>Time Since Refresh</title>
</head>
<body>
<br/>
<br/>
<span id="timeSinceStart"></span>
<script language="JavaScript">
var timeRefreshed = new Date();
var timeSinceStart = {
displayTimeSinceStart: function(){
var now = new Date();
//compute elapsed time
var elapsed = Math.round((now - timeRefreshed)/1000);
document.getElementById("timeSinceStart").innerHTML = "Time Elapsed: " + elapsed + " seconds.";
}
}
// Update seconds counter
setInterval(timeSinceStart.displayTimeSinceStart, 1000);
</script>
</body>
</html>
个
非常感谢。这和你的其他帖子非常有帮助。 – Curious2learn 2011-12-16 12:08:05