导读

本文是《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调试代码?...相关推荐

  1. JAVA Web项目中所出现错误及解决方式合集(不断更新中)

    JAVA Web项目中所出现错误及解决方式合集 前言 一.几个或许会用到的软件下载官网 二.Eclipse的[preferences]下没有[sever]选项 三.Tomcat的安装路径找不到 四.T ...

  2. 小程序 - 效果处理之技巧合集(更新中...)

    巧用Console.log(event) Event::事件对象,方法在执行的时候,当前环境携带的一些信息 可以打印出来.获取很多信息,根据这些信息再度寻找你需要的信息的路径.如小程序里的event. ...

  3. 谭浩强C程序设计第五版课后答案视频+代码讲解完整版(合集)持续跟新中~~~

    这里是一个谭浩强C程序设计第五版课后答案的合集 请看下面: 工欲善其事必先利其器 写C语言代码,首先得有安装一个趁手的工具,那么VS系列是最合适不过的了 这里是安装教程: VS2013安装教程和使用 ...

  4. python中用于标识字符串的定界符_Python合集之Python数据类型(二)

    在上一节的合集中,我们了解了Python数据类型中的数值类型的相关知识,本节我们将进一步了解一下Python中关于数据类型中的字符串及布尔类型相关的知识. 1. 字符串类型 字符串是连续的字符序列,可 ...

  5. Excel表中查找、去除重复项方法合集

    第一种,主选项卡开始->条件格式->突出显示单元格规则->重复值. 第二种,主选项卡下,高级筛选,也可以去除重复项,但是这个时候的重复项就是完全重复的才会去除. 第三种,可以在需要做 ...

  6. SAP中常见的Debug技巧(02)-跳过代码执行

    原文链接:https://mp.weixin.qq.com/s/PoKws0rdjEqEEw68AZ_UTQ 大家可以关注我个人公众号,所有分享内容,会在公众号第一时间推送,且阅读排版更好. 愿大家的 ...

  7. jsf取js变量_JSF页面中的JS取得受管bean的数据(受管bean发送数据到页面)

    [问题]Asp.net MVC 的cshtml页面中调用JS方法传递字符串变量参数. [解决]直接对变量加引号,如: 删除- http://blog.csdn.net/xxjoy_777/articl ...

  8. css 浏览器调试中不可见_前端入门必会的初级调试技巧

    本文仅仅针对前端初学者,目的是[用20%不到的时间] 学会[前端最常用的部分调试技巧],如果需要最详细的调试技巧,包括调试性能优化的相关知识,文末会补充最全的文档(chrome devtool的官方文 ...

  9. Plant Simulation、NX MCD、PDPS,SIMIT,PLCSIM仿真与虚拟调试合集(持续更新中)

    一文了解PLCSIM.SIMIT.Amesim.NX MCD. Process Simulate.Plant Simulation等仿真与虚拟调试软硬件: 一文了解PLCSIM.SIMIT.Amesi ...

最新文章

  1. java收费对.net_网上订货商城系统是怎么收费的?大概需要多少费用?
  2. Swagger Editor教程
  3. Py之prettytable:prettytable的简介、安装、使用方法之详细攻略
  4. java字符串去重复_java去除字符串中重复、不重复、消除重复后字符
  5. 驳《从团购网站看中国人的创新精神》
  6. Linux——Windows连接CentOS XRDP 错误信息(login failed for display 0)
  7. VTK:Qt之BorderWidgetQt
  8. 【Linux】一步一步学Linux——alias命令(205)
  9. P4735-最大异或和【可持久化Trie】
  10. (20)css3新增选择器
  11. 【linux】linux shell if 多条件 并行 字符串判断
  12. set, unordered_set模板类
  13. android 脚本发短信,Android使用SmsManager实现短信发送功能
  14. centos8解压war包
  15. 用微PE安装KALI LINUX到U盘,【U盘安装kali】U盘 kali pe三合一教程!装机,存储
  16. 市场上十块钱买一个随身WiFi使用技术手段,插卡流量不限速不限量?
  17. 乌尔都语简介和Unicode由来
  18. 盗版WIN7的管理员权限
  19. dns检测工具命令总结
  20. 张蔷《手扶拖拉机斯基》编舞动作分解

热门文章

  1. 动态规划立体匹配代码_411,动态规划和递归求不同路径 II
  2. jaccard相似度_Jaccard与cosine文本相似度的异同
  3. 【Java】6.5 抽象类
  4. 认真看看, 以后写 SQL 就爽多了:MyBatis 动态 SQL
  5. 蓝桥杯-逆序对(java)
  6. 基于ServletJsp的网上书店设计(二)
  7. oracle+手工创建pfile,oracle 手工创建数据库
  8. 硬核!手写一个优先队列
  9. Python访问MySQL数据库并实现其增删改查功能
  10. 使用VScode开发C语言程序,环境安装配置,保姆级教程