相同點:兩個方法都是先觸發間隔時間,再觸發回調函數
區別:
1.setInterval每隔指定的時間就執行一次表達式,若不停止會一直執行下去
而setTimeout在執行時,是在載入后延遲指定時間后,去執行一次表達式,次數僅為一次
2.將setTimeout包含於被執行函數中,然后在函數外再次使用setTimeout來達到定時執行的目的
這樣,函數外的setTimeout在執行函數時再次觸發setTimeout從而形成周而復始的定時效果,但是
這樣每次時間就相當於延遲時間+函數執行時間,時間越久,誤差越大;
而setInterval是間隔時間去執行函數,並不會產生誤差,setInterval適用於顯示時間,精確度高