JavaScript异常报错处理:Uncaught TypeError: xxx is not a function

Posted 请给我一杯冰可乐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

 

以上是关于JavaScript异常报错处理:Uncaught TypeError: xxx is not a function的主要内容,如果未能解决你的问题,请参考以下文章

uploadify 报错 uncaught call to getstats failed

js、javascript : Uncaught SyntaxError: Unexpected token u

JavaScript报错Uncaught SyntaxError: Invalid shorthand property initializer

JavaScript:return报错 Uncaught SyntaxError: Illegal return statement

JavaScript:return报错 Uncaught SyntaxError: Illegal return statement

vue报错Uncaught (in promise) NavigationDuplicated: Avoided redundant navigation to current location: “