2017-12-12 7 views
0

、私はこのようなコードを持っている:jsで変数を使用するコール関数はどのように機能しますか?例えば

var test = function() { 
    return Math.random(); 
} 

var randomNumber = test(); 


// I want to call test() via the randomNumber variable, 
// use this variable on another function or etc... 
// for example here 
for (var i = 0; i < 5; i++) { 
    console.log(randomNumber); // and it should be show 4 random numbers 
} 

これは可能ですか?
事前に感謝します。

+0

あなたは関数を呼び出したときに変数を使用することを意味するのですか? 'randomNumber = test(); console.log(randomNumber); '? – ochi

+0

私はあなたがいわゆる "ゲッター"を作りたいと思うかもしれないと思います。これを行うには、 'Object.defineProperty'を見てください。 – Psi

+0

私は質問を更新しました。 –

答えて

1

関数内で返された値をループ内の変数に代入して表示することができます。ちょっと

// define function 
 
var test = function() { 
 
    return Math.random(); 
 
} 
 

 
// define variable 
 
var randomNumber; 
 

 
// loop 
 
for (var i = 0; i < 5; i++) { 
 
    // invoke function, assign value to variable 
 
    randomNumber = test(); 
 

 
    // output it to console. 
 
    console.log(randomNumber); 
 
}

UPDATE

以下のコードあなたは、アレイを通して 'ループ' にコードを書きたくない場合は、偽を使用することができるよう

同じ関数をその配列にマップします。

自分でループしているわけではありませんが、それでも配列を通してループしています。

// array of fake values 
 
var iterations = [0, 1, 2, 3, 4]; 
 

 
// returns an array of random numbers 
 
console.log(iterations.map(function(elem) { 
 
    return Math.random(); 
 
}));

+0

はい、この方法はすでに動作していますが、単純なループなしで方法を見つけることができます(もちろん可能な場合) –

+0

@ArikDonowan簡単なループなしで*何を意味するのか分かりません。 – ochi

+0

おそらくあなたにとってより良い質問は、達成しようとしていることです。なぜあなたはループを避けようとしていますか? – ochi

3

私はあなたの代わりに関数を呼び出し、その戻り値を割り当てるのでrandomNumberへの関数の参照を割り当てたいと考えています。

var test = function() { 
 
    return Math.random(); 
 
} 
 

 
// Assign test to randomNumber, but don't call it here 
 
var randomNumber = test; 
 

 
for (var i = 0; i < 5; i++) { 
 
    console.log(randomNumber()); // call it here 
 
}

関連する問題