2014-03-04 62 views
0

有經驗的python用戶學習JavaScript。如何在JavaScript中引用函數變量?

比方說,我定義一個函數有兩個參數:

function alpha(var_a, var_b){ 
this.a = var_a; 
this.b = var_b; 
} 

,然後寫一個樣本對象:

function One(){ 
var a = [ 
    ["1"], 
    ["2"], 
    ["3"] 
]; 

var b = [ 
    ["4"], 
    ["5"], 
    ["6"] 
]; 

return new alpha(a, b); 
} 

如果我有把作爲其參數的函數的第三函數:

function beta(alpha){ 
} 

如何在第三個函數中引用參數函數中的變量上?

回答

6

首先,您必須致電beta並將其從One傳遞給alpha的實例。

beta(One()); 

然後,你可以訪問alpha.aalpha.b裏面(注意,這alpha是函數原型的參數名稱創建局部變量alpha,而不是通過函數聲明創建的全局alpha)。

注意:約定規定你在JS中用一個大寫字符開始函數名,當且僅當它是一個構造函數時。所以你應該有Alphaone而不是alphaOne


讓我們用較少混淆的變量名重寫所有的代碼。

function MyConstructor(var_a, var_b) { 
    this.a = var_a; 
    this.b = var_b; 
} 

function createInstanceWithData() { 
    var a = [ 
     ["1"], 
     ["2"], 
     ["3"] 
    ]; 

    var b = [ 
     ["4"], 
     ["5"], 
     ["6"] 
    ]; 

    return new MyConstructor(a, b); 
} 

function logData(someInstance) { 
    console.log(someInstance.a, someInstance.b); 
} 

logData(createInstanceWithData()); 
+0

謝謝昆汀,那是一個清晰而簡潔的答案。 – JoshieSimmons

相關問題