請問下,為什么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>
謝謝大神指導
2016-05-12
定義函數時,函數體的代碼不會執行。
這個函數只要調用了,就會無限遞歸,Boom!
2016-05-12
個人覺得哈,
1、是變量的名字取得不合適,int是整形不能當作變量。
2、? var int=setInterval(clock,1000);這個應該是調用的函數吧,這種寫法對嗎?也許是沒理解你的目的,要是想調用函數,肯定是在函數外調用,并不是在函數里面里面調用,又不是遞歸調用!
2016-05-12
int 為javaScript 的保留字。不能當做其變量名稱。你嘗試換一個變量名,保留字的定義如下:
保留字(reserved word),指在高級語言中已經定義過的字,使用者不能再將這些字作為變量名或過程名使用