专业编程教程与实战项目分享平台

网站首页 > 技术文章 正文

JavaScript调试技巧合集——为什么不推荐使用alert调试代码?

ins518 2024-11-19 05:07:25 技术文章 12 ℃ 0 评论

导读

本文是《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么 ?

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表