2014-05-06 118 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