clearTimeout()和timer.value = null的区别

164 阅读1分钟

image.png

  如图,应先执行clearTimeout(),再执行timer.value = nullclearTimeout()会清除掉timer里面具体的内容,而timer.value = null会改变timer的指向,让timer可以再次被赋值
1.如果只是执行timer = null,那定时器依然会执行,因为只是改变了指向
2.应该先调用clearTimeout再调用timer=null,因为改变了指向后再清除,那clearTimeout并不清楚要清除什么,指向已经改变,并不指向原本的函数。