摘要
頁面報錯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
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/49979.html
標籤:JavaScript
