2016-12-08 44 views
0

我工作的一個傳統JS腳本返回一個新聲明的變量:這是什麼的js代碼片段的意思是未定義方法

!function(e, t) { 
var a = function() { 
     return new a.init 
    }, 
...... 
//end of JS script 1800 lines later 
a.init.prototype = a.prototype, e.PDC = a 
}(window, jQuery); 

我知道!是一種聲明IIFE的方法,但第一個變量聲明,我不明白,因爲變量a的init方法尚未聲明!

+1

您是否省略了大括號?兩個開放但三個關閉 – fafl

+0

我省略了括號,裏面定義了一堆函數,我希望你有足夠的理由來支持它腳本非常大 –

+0

鏈接到完整的腳本可能有幫助 –

回答

0

直到調用該函數時才查找函數中變量的值。

鑑於return new a.init,這不要緊,aundefined(它聲明)創建功能時,這將是之前的功能是

+0

哦,我看到謝謝你的解釋 –