2014-05-06 162 views
0

我正在使用jQuery,我是一個初學者。我有這樣的結構:訪問函數變量jquery

function a(){ 
    function b(){ 
    return x; 
    } 
} 

我想從主要功能是a()返回x。我怎樣才能做到這一點?

+0

就返回功能的B值 – Yang

+0

您只要致電' b()'在'a中身體。 – Cerbrus

+1

僅供參考,這與jQuery –

回答

2

您有幾個選項。

假設:

var x = 1; 

你可以這樣做:

// Return a function when calling `a()`, which can be called --> `a()()`; 
function a() { 
    return function b(){ 
     return x; 
    } 
} 

a()(); // 1; 
// Return the result of `b()` when calling `a()`; 
function a(){ 
    function b(){ 
     return x; 
    } 
    return b(); 
} 

a(); // 1; 
// Return a object containing a function named `b`. 
function a(){ 
    return { 
     b: function(){ 
      return x; 
     } 
    }; 
} 

a().b(); // 1; 
0
function a() { 
    return b(); 
    function b(){ 

    return x; 
    } 
} 
+1

@downvoter這裏有什麼錯? –

+1

我想有人在這裏下調每個人的答案@ A.Wolff – Neel

+1

@Neel:看起來像。 – Cerbrus

0

我想你的意思呢?

function a() { 
    function b(){ 
     return x; 
    } 
    return b(); 
} 
0

答案的清潔器版本:

function a(){ 
    function b(){ 
     return x; 
    } 
    return b(); 
} 
0

只需使用:

function a(){ 
    return b(); 
} 

function b(){ 
    return x; 
} 
0

試試這個fiddle

function a() { 
    var x = 34; 
    return function b(){ 
     return x; 
    } 
} 

var f1 = a(); 
var f2 = f1(); 
alert(f2); //34