Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在While循环中调用函数_Javascript_Function_While Loop - Fatal编程技术网

Javascript 在While循环中调用函数

Javascript 在While循环中调用函数,javascript,function,while-loop,Javascript,Function,While Loop,我试图理解为什么这两段代码不提供相同的输入,为什么第一段返回“未定义” 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);

我试图理解为什么这两段代码不提供相同的输入,为什么第一段返回“未定义”

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) 您的函数都没有return语句,因此它们都不返回任何值

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

3) 在第二部分中,为myFunction分配一个数字。这是最令人困惑的,但它确实解释了这段代码的工作原理:您实际上并没有创建函数


4) 在第二篇文章中,myFunction和myFunction的大小写也不同,它们不是同一个变量。

这里有很多问题。我会检查一下:

1) 您的函数都没有return语句,因此它们都不返回任何值

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

3) 在第二部分中,为myFunction分配一个数字。这是最令人困惑的,但它确实解释了这段代码的工作原理:您实际上并没有创建函数


4) 在第二篇文章中,myFunction和myFunction的大小写也不同,它们不是同一个变量。

从函数返回到哪里?我在任何函数中都没有看到任何return语句。从函数返回到哪里?我在任何函数中都没有看到任何return语句。嗨,Erik,这太完美了,我错过了这个return语句。第二段代码很混乱,因为我将变量命名为myFunction,但我不打算在这里创建函数,而“myFunction”是一个拼写错误。嗨,Erik,太好了,这是我丢失的返回。第二段代码很混乱,因为我将变量myFunction命名为myFunction,但我不打算在这里创建函数,而“myFunction”是一个拼写错误。