2016-06-17 8 views
-2

3つの関数を持つJavaScriptプログラムがあります。最初の2つの関数は両方とも内部に変数値を持ち、3番目の関数でそれらの変数にアクセスしたいが、変数が定義されていないというエラーが出る。 関数の外部で変数をグローバルに設定してみましたが、同じエラーが発生していました。JavaScriptを使用して1つの関数から別の関数に変数を渡します。

var result; 
var result2; 

function getOpens(){ 

result = 10; 

} 

function getClicks(){ 

    result2 = 6 
} 

function getTotal(){ 

    if(result >= 10 && result2 < 1) 
    { 
    //DO SOMETHING 
} 
} 

getOpens(); 
getClicks(); 
getTotal(); 

これが他の機能からの変数にアクセスする正しい方法であるかどうかはわかりません。私は世界的に設定しようとしましたが、まだ運がないし、getTotal関数は変数resultとresult2にアクセスすることができません。

+0

機能はどこで実行されていますか? – nicael

+0

関数getOpensとgetClicksが呼び出されていないので、値haventがまだ初期化されていません – kiro112

+0

いつfucntionsを呼び出しますか – lordkain

答えて

1

3つ目の関数で関数の戻り値を使用しないのはなぜですか?グローバル変数なしで動作します。

function getOpens(){ 
    return 10; 
} 

function getClicks(){ 
    return 6; 
} 

function getTotal() { 
    if(getOpens() >= 10 && getClicks() < 1) { 
     //DO SOMETHING 
    } 
} 
0

いくつかのオプション

オプション1 - )(getTotal内の関数を呼び出す

function getOpens(){ 
return 10; 
} 

function getClicks(){ 
    return 6; 
} 

function getTotal(){ 

var result = getOpens(); 
var result2 = getClicks(); 

    if(result >= 10 && result2 < 1) 
    { 
    //DO SOMETHING 
    } 
} 

オプション2 - 機能getTotal(付きのparamsを渡す)

function getTotal(opens, myClicks){ 

    if(opens >= 10 && myClicks< 1) 
    { 
    //DO SOMETHING 
    } 
} 
0

どうですか?

var result; 
var result2; 

function getOpens(){ 
return 10; 
} 

function getClicks(){ 
    return 6; 
} 

function getTotal(){ 
    if(result >= 10 && result2 < 1) 
    { 
    console.log("DO SOMETHING"); 
} else { 
    console.log("DO SOMETHING ELSE"); 
} 
} 

result = getOpens(); 
result2 = getClicks(); 
getTotal(); 
関連する問題