請問下,為什么var int=setInterval(clock,1000)不可以放到function clock(){}里面
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>定時器</title>
<script type="text/javascript">
??? function clock(){
??? var time=new Date();
??? document.getElementById("clock").value = time;
? }
??? var int=setInterval(clock,1000)
</script>
</head>
<body>
<form>
<input type="text" id="clock" size="50"? />
</form>
</body>
</html>
上面這段代碼為什么不能這樣?
<script type="text/javascript">
??? function clock(){
??? var time=new Date();
??? document.getElementById("clock").value = time;?
??? var int=setInterval(clock,1000);
? }
?</script>
謝謝大神指導(dǎo)
2016-05-12
定義函數(shù)時,函數(shù)體的代碼不會執(zhí)行。
這個函數(shù)只要調(diào)用了,就會無限遞歸,Boom!
2016-05-12
個人覺得哈,
1、是變量的名字取得不合適,int是整形不能當(dāng)作變量。
2、? var int=setInterval(clock,1000);這個應(yīng)該是調(diào)用的函數(shù)吧,這種寫法對嗎?也許是沒理解你的目的,要是想調(diào)用函數(shù),肯定是在函數(shù)外調(diào)用,并不是在函數(shù)里面里面調(diào)用,又不是遞歸調(diào)用!
2016-05-12
int 為javaScript 的保留字。不能當(dāng)做其變量名稱。你嘗試換一個變量名,保留字的定義如下:
保留字(reserved word),指在高級語言中已經(jīng)定義過的字,使用者不能再將這些字作為變量名或過程名使用