請(qǐng)問(wèn)下,為什么var int=setInterval(clock,1000)不可以放到function clock(){}里面
<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>定時(shí)器</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í),函數(shù)體的代碼不會(huì)執(zhí)行。
這個(gè)函數(shù)只要調(diào)用了,就會(huì)無(wú)限遞歸,Boom!
2016-05-12
個(gè)人覺(jué)得哈,
1、是變量的名字取得不合適,int是整形不能當(dāng)作變量。
2、? var int=setInterval(clock,1000);這個(gè)應(yīng)該是調(diào)用的函數(shù)吧,這種寫(xiě)法對(duì)嗎?也許是沒(méi)理解你的目的,要是想調(diào)用函數(shù),肯定是在函數(shù)外調(diào)用,并不是在函數(shù)里面里面調(diào)用,又不是遞歸調(diào)用!
2016-05-12
int 為javaScript 的保留字。不能當(dāng)做其變量名稱(chēng)。你嘗試換一個(gè)變量名,保留字的定義如下:
保留字(reserved word),指在高級(jí)語(yǔ)言中已經(jīng)定義過(guò)的字,使用者不能再將這些字作為變量名或過(guò)程名使用