我试图理解为什么这两段代码不能提供相同的输入,为什么第一块代码返回'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");
答案 0 :(得分:3)
这里有很多问题。我会过去看看:
1)你的函数都没有返回语句,所以它们都没有返回任何值
2)在你的第一篇文章中,你将myFunction(这是一个函数)与一个整数(它永远不会是相同的)进行比较。您可能希望在if语句中添加一些括号,以便比较函数的返回值。 (这也使得while内部的调用无用,因为你无论如何都不对返回值做任何事情)
3)在你的第二篇文章中,你给myFunction分配了一个数字。这大多令人困惑,但它确实解释了为什么这段代码可以工作:你实际上并没有创建一个函数。
4)同样在你的第二部分中,你在myFunction和myfunction之间有不同的外壳,它们不是相同的变量。