JavaScript异常报错处理:Uncaught TypeError: xxx is not a function
摘要
页面报错bug是常有的事,我们可以根据错误bug提示关键性的去修复问题。依稀的记得之前有个小伙伴询问了一个js异常的错误bug:Uncaught TypeError: xxx is not a function。这个错误问题定位处理起来很快,但是我却不知其所以然。为了弄清楚报错的深层面原因,去调研了关于错误的解决方案。学习吸取别人的经验,对这个常见的报错的原理有了新的认识,这次就分享总结Uncaught TypeError的错误原由以及解决方案。具体报错信息如下图所示:
解决方案
一、在引用并尝试调用该方法时,未在调用前声明定义该方法,因此解析为undefined。在调用方法时,undefined不是函数(例如错误提示)。
二、声明定义的函数名不能和页面的某个标签的id名相同。某些浏览器仅通过在js代码中指定id即可访问节点元素,然后在DOM中的元素会覆盖所声明定义的函数。(这个错误的原因需要特别注意,因为很少有人会注意到这类比较特别的错误原因)
参考文档:
https://stackoverflow.com/questions/15338973/typeerror-xxx-is-not-a-function/15339330#15339330
https://stackoverflow.com/questions/12816400/javascript-typeerror-xxx-is-not-a-function
版权声明:本文为博主原创文章,转载请附上原文出处链接和本文声明。