我仍然是Javascript的新手,所以如果这看起来是一个愚蠢的问题,请原谅。
我定义了一个名为randomNumberGenerator的函数,其中只有一行代码。基本上,它的目的是返回一个介于0和2之间的数字。
function randomNumberGenerator() {
return Math.round(Math.random() * 2);
};
然而,当我试图在我的控制台中记录这个函数的结果时,它向我显示了该函数的大纲(就是它的名字),而不是一个随机数。你可以在这里看到它:
ƒ randomQuestionSelector() {
return Math.round(Math.random() * 2);
}
我尝试将'Math.round(Math.random() * 2)‘赋值给一个简单的变量,并将该变量记录到控制台。它像预期的那样工作(我得到了一个随机数),所以我很困惑为什么对一个函数做同样的事情不是这样。
希望有人能帮我解决这个问题。谢谢!
发布于 2019-04-09 03:47:40
console.log(randomNumberGenerator)
之所以返回这样的值,是因为您并没有真正调用此函数。您调用了每个对象上都存在的默认.toString()
方法。并且默认实现(可以被覆盖)返回您在控制台中看到的内容。如果你想得到函数的结果,你需要使用调用函数的()
操作符,如下所示:
randomNumberGenerator()
要捕获返回值,可以将其赋值给变量,例如:
const random = randomNumberGenerator()
console.log(random);
这样,您就可以调用函数并将返回值赋给新变量。
发布于 2019-04-09 03:46:51
您需要调用该方法。您可能调用的是console.log(randomNumberGenerator)
,而不是console.log(randomNumberGenerator())
https://stackoverflow.com/questions/55580651
复制相似问题