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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM