最佳解决方案
不管前后端,调试BUG的思路基本上都差不多:
1、发现错误
通过firefox、chrome的控制台,可以查看都有哪些程序、什么位置(一般多少行)报错。
如果程序内进行了try..catch...,就在catch内执行console.log把错误输出到控制台上
2、找到具体的错误位置
一般浏览器报错的行数不一定准确,对错误进行异常捕捉时也很暗定位具体出错代码位置。可以通过下面的方法找到具体的错误位置
2.1、使用console.log输出信息,确定程序停止执行的位置
在可能出错的程序上下文位置,使用console.log输出不同信息,简单点可以直接 console.log(1)、console.log(2)、console.log(3)...........这样输出信息。如果2有输出,3咩有输出,错误位置就在2和3之间了。可以这样逐步缩小范围,至到最终找到错误代码
2.2、删减和递增法找到错误位置。这个也很简单,把怀疑有问题的代码之后的所有代码全部删除,然后执行程序。如果程序正常执行,就逐步恢复代码,再下执行。至到恢复的新代码不能正常执行了,就是问题位置所在了。
3、排查问题原因
前端JS程序报错的原因有很多还能多,一般能够错误信息上看出来大概是什么原因导致的。举例如下:
3.1、引用类库先后顺序或者代码先后顺寻导致的报错,比如如下错误就是在引用类库之前或者代码之前调用了相关功能
Uncaught ReferenceError: editor is not defined
3.2、数据类型不正确,引发的报错的。 这种情况一般是因为json数据或者数组数组格式不正确导致的。
3.3、因为作用域导致的程序报错,这种情况下就要查询是否违反同源策略,是否因为闭包导致了报错
3.4、超出索引界限引发报错也比较常见。
目前想到的就是这些,望采纳!