供參考,沒有實現(xiàn)字符串功能,反正也不推薦使用。functionsetInterval2(cb,delay,...args){//記錄所有正在運行的interval用于撤銷letpool=window[Symbol.for('IntervalPool')]if(!pool){pool={}window[Symbol.for('IntervalPool')]=pool}//interval最低10ms,雖然每frame至少得16msdelay=delay>=10?delay:10//intervalidletticket=Date.now()//每次interval開始時間letstartTime=ticketpool[ticket]=trueloop()returnticketfunctionloop(){if(!pool[ticket]){return}constnow=Date.now()if(now-startTime>=delay){startTime=nowcb(...args)}requestAnimationFrame(loop)}}functionclearInterval2(ticket){letpool=window[Symbol.for('IntervalPool')]if(pool&&pool[ticket]){deletepool[ticket]}}