問題
最近同事詢問一個 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.