我不明白什麼是錯的。我有三個代碼:
第一:函數內部的setInterval產生一個錯誤:變量未定義
<script language="JavaScript" type="text/javascript">
var count = 0;
alert(count);
var timer = setInterval("count = count + 1; alert(count);",10000);
</script>
二:
<script language="JavaScript" type="text/javascript">
function countdown()
{
var count = 0;
alert(count);
var timer = setInterval("count = count + 1; alert(count);",10000);
}
countdown();
</script>
三:
<script language="JavaScript" type="text/javascript">
var count = 0;
function countdown()
{
alert(count);
var timer = setInterval("count = count + 1; alert(count);",10000);
}
countdown();
</script>
第一個代碼工作正常,第二個產生「setInterval」行錯誤: 「count is not defined」,第三個代碼再次正常工作。第二個代碼中的「count」變量的作用域應該是全局的,以用於setInterval函數。爲什麼不是?我正在使用Mozilla Firefox。 謝謝。
你剛剛發現你不應該使用字符串作爲setInterval/setTimeout的回調的原因之一。看看右邊的相關問題,我敢打賭,其中一半有同樣的問題。 – Yoshi