為什么這樣不行
為什么這樣,定時器沒有作用
function ss()
??? {
??????? var n=document.getElementById("num").innerHTML;
??????? document.getElementById("num").innerHTML=n--;
?????? ?
??? }
setInterval(ss,1000);
而這樣卻有作用
? var n=document.getElementById("num").innerHTML;
function ss()
??? {
??????? document.getElementById("num").innerHTML=n--;
?????? ?
??? }
setInterval(ss,1000);
2016-05-23
不是,因為如果在函數(shù)里面的話,你每次獲取到的n都是5,因為你并沒有修過n的來源,相當(dāng)于 b=10 a=b a++ 然后a=11,b還是10的不會變
2016-05-24
多次調(diào)用的同一個函數(shù)之間沒有聯(lián)系,一次調(diào)用結(jié)束后,如果沒有嵌套函數(shù)頁沒有其他引用指向這個函數(shù),函數(shù)里的變量就被清空了,不會被保存下來的,所以每次調(diào)用都是一個新的n
2016-05-23
因為你將n定義在函數(shù)中,定時器每次讀取函數(shù)的 時候n就會重新變?yōu)槌跏贾?/p>
如果定義在外面,n為全局變量,調(diào)用函數(shù)的時候不會恢復(fù)為初始值