我正在閱讀KnockoutJS源代碼。「新」之前匿名函數調用返回對象
我跑進以下行,我不知道我理解......
ko.utils = new (function() {
一般來說,結構似乎是沿着線:
ko.utils = new (function() {
// some variables declared with var
return {
export:value,
export:value
};
})();
我不不懂這個構造,爲什麼需要new
?它有什麼作用?它對於什麼有用?
(我認爲,如果一個函數調用new
它的名字之前被調用的構造函數,如果它返回一個對象是相同的invokation不new
)
更新:我問Github上的KnockoutJS團隊,這是我回來的:
我的猜測是,史蒂夫只是不知道這是不需要的。回顧他最初的承諾,我看到很多不必要的新聞已被刪除。
據我所知道的,'new'在此這種情況下 –
沒有影響:那麼,是否可以認爲,使用了「新」的關鍵字作爲一個JavaScript函數表達的「靜態」( http://stackoverflow.com/questions/10406552/is-it-right-to-think-of-a-javascript-function-expression-that-uses-the-new-key) – Bergi
碰巧遇到兩個他們...... – Bergi