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”是一个拼写错误。