如何查找JS错误
如何查找JS错误一、Uncaught TypeError: undefined is not a function
1、错误产生
你希望调用一个函数,这个值却不是一个函数。
2、错误说明
Uncaught TypeError:这个部分用处不大,ca说出现了一个catch语句没有捕捉到的错误,错误类型为TypeError(类型错误)。
undefined is not a function:这个是错误提示部分,我们必须逐字理解(字面意思理解),例如本例它的字面意思是代码试图将一个undefined类型用作function。
这个错误中,错误行号能正确指示。
3、常见错误原因
很多时候就是因为,函数名称打错了,产生错误。因为对象的不存在属性的默认值为undefined,因此会产生该错误。
4、错误修复
确保函数名正确。这个错误中,错误行号能正确指示。
二、Uncaught ReferenceError: Invalid left-hand side in assignment
1、错误产生
你试图给某某赋值,但是赋值不成功时产生错误。
2、常见错误原因
这种情况经常发生在if语句中,例如下面的案例,开发者不小心把==写成了=,而且等号左侧的东西不能被赋值,于是产生了错误。
if(doSomething() = 'somevalue')
3、错误修复
确保不向函数、this关键字赋值。
三、Unexpected token
1、错误产生
JS编译器需要点什么,代码里却没有。
2、常见错误原因
通常是忘记了匹配的)、]、}、;等。
四、Uncaught SyntaxError: Unexpected token ILLEGAL
1、错误产生
字符串缺少关闭的引号。
2、错误修复
确保所有的字符串使用正确的引号。
五、Uncaught TypeError: Cannot read property 'XXX' of null
1、错误产生
试图将null或undefined当做对象读取属性时,产生错误,如下面代码所示。
var someVal = null;
console.log(someVal.foo);
2、错误修复
一般为拼写错误,好好检查错误行号周边变量的拼写,确保正确。
六、Uncaught RangeError: Maximum call stack size exceeded
1、错误产生
由程序逻辑bug造成的无限循环调用函数,无限递归调用函数。
2、错误修复
检查循环部分,清除造成无限循环的bug。
七、Uncaught URIError: URI malformed
1、错误产生
错误的URL解析请求所致
2、错误修复
找见错误行号,修正URL请求。