//調用這么調用沒問題,但是寫成以下自執行函數就報錯新手不知道什么原理?不吝賜教,謝謝了
關于js自執行函數報錯的問題
鴻蒙傳說
2018-10-11 14:11:15
TA貢獻1895條經驗 獲得超3個贊
IIFE前面最好加上分號;
;(function(){ var First = document.querySelector('.first'), firstBody = document.querySelector('.first_body'), Btn = document.querySelector('.btn'), btnBody = document.querySelector('.btnbody'); var myFunc = kim.prototype; myFunc.init(First, firstBody); myFunc.closeWindow(Btn, btnBody); })()
原因就在于代碼壓縮之后會出現以下情況:
// obj <obj>var a = obj(function () {})()
這樣就成了obj調用,就會報錯,加上了分號
// obj <obj>var a = obj;(function () {})();
這種尷尬就沒有啦
舉報