2017-09-22 17 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外宣言:あなたは機能Aが機能B前に実行していることを確認する必要があります

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()

を。

関連する問題