問題
最近同事詢問一個 Uncaught TypeError: __doPostBack(...) is not a function
的 javascript 錯誤,如下,
除錯
測試的網頁如下,
1 | <html> |
錯誤訊息指的是 __doPostBack(...)
,
但錯誤點是在 IIFE 的程式碼。
看起來似乎是 __doPostBack
沾黏到後面的 (function(id)){ ...}
,
所以這中間要加入 分號 來分隔。
所以將 __doPostBack(...)
改成 __doPostBack(...);
所以在使用 IIFE 時,
也有人在最前面加上分號以避免類似的問題。
This prevents issues when blindly concatenating two JavaScript files. Since JavaScript does not require semicolons, you might concatenate with a file with some statements in its last line that causes a syntax error.