经典的JavaScript报错分析

496 阅读1分钟

代码报错是经常发生的一件事,我们要确定是什么原因造成的,以及如何避免错误。

Uncaught TypeError: Cannot read property

images/err01.png
该错误说明没有某个属性,一般是该属性前面的值是undefined或者是null的情况会出现。

TypeError: ‘undefined’ is not a function

\[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qkHUodOM-1579762288763)(images/err02.png)\]
执行对象中某个不存在的方法通常会报这种错误。说明在这个对象中没有该方法。

Uncaught RangeError: Maximum call stack

\[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4yFpUeQg-1579762288766)(images/err03.png)\]
递归的时候如果没有写边界条件判断就会报这种错误,因为函数一直在重复的执行。

TypeError: Cannot read property ‘length’

\[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WbWDHNJk-1579762288782)(images/err04.png)\]
报这种错误说明没有length属性,前面是null或者undefined的情况会报这种错误。

Uncaught TypeError: Cannot set property

\[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QQ6caJAo-1579762288784)(images/err05.png)\]
不能设置属性说明前面是null或者undefined的情况会报这种错误。

ReferenceError: event is not defined

\[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RfC04eVF-1579762288787)(images/err06.png)\]
报undefined错误大多情况是你没有声明该变量就直接使用。

总结:代码报错多是因为null和undefined造成的,所以在写代码的时候要考虑到一些特殊情况的处理,避免发生错误。在这里插入图片描述