2014-01-28 46 views
-1

我想了解一些代碼,我發現:的javascript模塊模式 - 不明白的返回值

var myApplication = function(){ 
var name = 'Chris'; 
var age = '34'; 
var status = 'single'; 
function createMember(){ 
// [...] 
} 
function getMemberDetails(){ 
// [...] 
} 
return{ 
create:createMember, 
get:getMemberDetails 
} 
}(); 
//myApplication.get() and myApplication.create() now work. 

我不懂回報的語法,爲什麼它的工作原理。我發現的解釋與指針有關,但我真的不明白它在說什麼。誰可以給我解釋一下這個?

+0

它不是'返回'的語法,它是您需要理解的對象字面量的語法。 – dandavis

+0

JavaScript中沒有指針。你覺得這個教程是什麼? – crush

回答

1

myApplication接收的執行的返回功能。這個返回是一個對象。

該對象有兩個屬性:createget

create的值(以及get的值)屬性是一個函數,在局部範圍的myApplication前面定義。

當您致電myApplication.get()您正在執行此功能。

2

此語句返回功能爲MyApplication

return { 
    create:createMember, 
    get:getMemberDetails 
} 

它的工作原理,因爲你暴露通過對象的引用createMembergetMemberDetails範圍的功能。

編輯

而且,所有MyApplication是調用的函數的結果,它立即調用,在聲明中感謝以下語法

(function myFunction() { 
    // some code 
}())