看代碼:HTML結構我在這里就不寫了,代碼實現(xiàn)-時間顯示第一種:帶雙引號的 <head> <div id="nowTime"></div><script type="text/javascript">var dom = document.getElementById("nowTime");var getNowTime = function(){return Date().split(" ");}var setNowTime = function(){var arr = getNowTime();dom.innerHTML = arr[4];setTimeout("setNowTime()", 500);}setNowTime();</script>第二種:不帶雙引號的,放在head標簽中,有window.onload加載<script>window.onload = function(){var dom = document.getElementById("nowTime");var getNowTime = function(){return Date().split(" ");}var setNowTime = function(){var arr = getNowTime();dom.innerHTML = arr[4];setTimeout(setNowTime, 500);}setNowTime();}</script></head>如何把第二種方法中的換成第一種方法的setTimeout:setTimeout(setNowTime, 500); ==>> setTimeout("setNowTime()", 500);代碼執(zhí)行一遍就報錯
2 回答

守著一只汪
TA貢獻1872條經驗 獲得超4個贊
setTimeout("xxx",500)
雙引號中的作用域不捕捉局部變量,因此會報錯誤
如果你需要在雙引號中可以在外部定義一個變量
var now; window.onload = function (){ var dom = document.getElementById( "nowTime" ); var getNowTime = function (){ return Date().split( " " ); } var setNowTime = function (){ var arr = getNowTime(); dom.innerHTML = arr; now=setNowTime setTimeout( "now()" , 500); } setNowTime(); } |

婷婷同學_
TA貢獻1844條經驗 獲得超8個贊
setTimeout()第一個參數(shù)傳入的是code代碼,那不論這個代碼是函數(shù)名稱比如不加引號的setNowTime 還是加引號的一串代碼 比如“setNowTime()”; 都是可以運行的呀。
添加回答
舉報
0/150
提交
取消