导读
本文是《JavaScript调试技巧合集》系列分享中的一篇,笔者希望在每篇文章中介绍一个关于JS调试的小知识点,希望你在读完这个系列后,在调试技巧上能够更加运用自如。下面是知识点概览:
本次分享主题:为什么不推荐使用alert调试代码?
对于使用alert调试代码这件事情,我相信很多人都持不同的看法,就我个人而言,我是十分反对的,在列举原因之前,我们一起先来看看MDN上是怎样介绍alert的:
从上图的“注意点一”我们可以看出,alert在帮助我们调试问题时,有它的局限性——只能显示字符串,如果传入的参数是一个其他对象,eg:
我们传入了一个对象 {a:1} , 结果只能给到一个 [object Object] , 无法看到变量内部的结构。不建议使用!
从“注意点二”可以看出,alert创建的是一个模态框,如果在调试代码时不小心把alert使用在某个循环中,eg:
for(let i=0;i<10000;i++){ test();}function test(){ // some other code .... alert(/** something you want to inspect */);}
上面的这段代码一旦被执行,就会导致弹出很多次alert弹窗,页面无法正常操作,如果在低版本的浏览器中,你不得不强制结束浏览器进程,在高版本浏览器中,你至少也得结束当前标签页进程才能解决问题。不建议使用!!
除此之外,我们能够使用alert调试的问题,使用其它方案也都能够替代,并且做得更好,比如使用console.log 上面几点描述的都只是便利性问题,alert使用不当,还可能导致生产事故,如果你在代码中使用了 alert调试代码,却没有删除,而你的项目中没有使用到 eslint , jslint 等工具去保证质量,最终导致alert被提到了线上,最终在用户侧造成问题。
所以,大家以后debug还会使用alert么 ?
alert不会影响到页面中其他代码执行_JavaScript调试技巧合集——为什么不推荐使用alert调试代码?...
如果觉得《alert不会影响到页面中其他代码执行_JavaScript调试技巧合集——为什么不推荐使用aler》对你有帮助,请点赞、收藏,并留下你的观点哦!