在While循环中调用函数

时间:2016-06-28 08:26:14

标签: javascript function while-loop

我试图理解为什么这两段代码不能提供相同的输入,为什么第一块代码返回'undefined'?

var myFunction = function() {
Math.floor(Math.random() * 2);
};

while(myFunction === 0){
    console.log("Test");
    myFunction();
 }

console.log("Return");

第二部分:

var myFunction = Math.floor(Math.random() * 2);

 while(myFunction === 0){
    console.log("Test");
    myfunction = Math.floor(Math.random() * 2);
 };

console.log("Return");

1 个答案:

答案 0 :(得分:3)

这里有很多问题。我会过去看看:

1)你的函数都没有返回语句,所以它们都没有返回任何值

2)在你的第一篇文章中,你将myFunction(这是一个函数)与一个整数(它永远不会是相同的)进行比较。您可能希望在if语句中添加一些括号,以便比较函数的返回值。 (这也使得while内部的调用无用,因为你无论如何都不对返回值做任何事情)

3)在你的第二篇文章中,你给myFunction分配了一个数字。这大多令人困惑,但它确实解释了为什么这段代码可以工作:你实际上并没有创建一个函数。

4)同样在你的第二部分中,你在myFunction和myfunction之间有不同的外壳,它们不是相同的变量。