这是一个很简单的数字时钟js程序。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script>
function displayTime(){
var elt=document.getElementById('clock');
var now=new Date();
elt.innerHTML=now.toLocaleTimeString();
setTimeout(displayTime,1000);
}
window.onload=displayTime;
</script>
</head>
<body>
<h1>Digital Clock</h1>
<span id="clock"></span>
</body>
</html>
我想问的是调用函数的语句:window.onload=displayTime;为什么不能是:window.onload=displayTime();为什么加括号就不对呢?
不加括号是将window.onload指向了displayTime,网页加载完执行函数。
加括号之后就直接执行displayTime函数,将函数的返回结果赋给了window.onload。