setTimeout("startCount()",0)與直接調用函數startCount()有什么區別
以本題為例?
var num=0;
? function startCount() {
? ? document.getElementById('count').value=num;
? ? num=num+1;
? ? setTimeout("startCount()",1000)
? }
? ? setTimeout("startCount()",0);//成功執行 相當于直接運行而使用starCount();或者window.onload=starCount();則失敗,必須把腳本放到body最后面才可以成功執行,為什么
2022-03-25
你這個方法是標準方法塊級元素默認占領一行,即使設置了寬度它還是占領一行(不脫離標準文檔流的情況下)。
2016-05-04
剛剛也搞不清楚這個問題,看了前面的回答,理解如下:直接執行函數,有()會立即執行,還沒加載完。用window.onload調用startCount,沒有()就可以了。而setTimeout("startCount()",0)立即執行的是setTimeout,不是"startCount()"。
2016-05-03
加括號表示直接調用,window.onload=starCount()這句會無視onload事件讀到這一行直接執行starCount();此時如果dom沒讀完就會失敗,放到最后面是在前面dom都讀完之后再執行的,所以成功,改為window.onload=starCount;這種不帶括號的就放前放后都可以了
2016-05-02
window.onload=starCount(),改為window.onload=starCount,原理上兩個應該是一樣的