如何在js中使用变量调用函数?

时间:2017-12-12 23:42:27

标签: javascript

例如,我有这样的代码:

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
}

这可能吗?
感谢您的进步。

2 个答案:

答案 0 :(得分:3)

我相信您希望将函数引用分配给randomNumber,而不是调用函数并指定其返回值。

&#13;
&#13;
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
}
&#13;
&#13;
&#13;

答案 1 :(得分:1)

您可以将函数返回的值赋给循环内的变量,然后显示它。

有点像下面的代码

&#13;
&#13;
// 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);
}
&#13;
&#13;
&#13;

<强>更新

如果您不想将代码写入&#39;循环&#39;通过你的数组,你可以使用假数组并将相同的函数映射到它。

你不是自己循环,但是通过数组循环仍在执行。

&#13;
&#13;
// 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();
}));
&#13;
&#13;
&#13;