2017-09-22 96 views
0

我想从另一个函数内的函数访问一个变量而不返回该变量。我需要检查,如果该变量是真还是假,则基于该运行一些其他的代码......在这里我想做的事:如何从另一个函数访问一个变量而不在原始函数中返回该变量?

 function A() { 
    var myVar = false; 

    if (someValue) { 
     switch (someOtherValue) { 
      case 1: 
       myVar = true; 
       break; 

      default: 
       something; 
       break; 
     } 
    } 
    } 


function B() { 
    // I need to call myVar here and get its last value; 
    if (myVar) { 
     ....... 
    } 
} 

注:我不想传递任何值的功能或返回任何值。那么,是否有可能获得myVar值。

在此先感谢,如果我的问题不清楚,请让我知道。

+0

NO。你*不能*从外部访问一个局部变量。你必须以某种方式暴露它。可以通过将其设为全局变量,也可以将其返回或传递给某个函数等。 – Thomas

回答

0

只是声明myVar的两种功能之外:

var myVar; 
 
    
 
function A(){ 
 
    myVar = false; 
 
    
 
    var x = true; 
 
    var y = 10; 
 
    
 
    if (x) { 
 
    switch (y){ 
 
     case 10: 
 
     myVar = true; 
 
     break; 
 
     default: 
 
     something; 
 
     break; 
 
    } 
 
    } 
 
} 
 
    
 
function B() { 
 
    // I need to call myVar here and get its last value; 
 
    if(myVar){ 
 
    console.log("myVar is true"); 
 
    } else { 
 
    console.log("myVar is false");  
 
    } 
 
} 
 
    
 
A(); 
 
B()

你需要确保功能A功能B之前执行。

相关问题