2017-09-22 97 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之前執行。

相關問題