首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >无法在控制台中返回包含数学对象的函数的结果

无法在控制台中返回包含数学对象的函数的结果
EN

Stack Overflow用户
提问于 2019-04-09 03:41:29
回答 2查看 30关注 0票数 1

我仍然是Javascript的新手,所以如果这看起来是一个愚蠢的问题,请原谅。

我定义了一个名为randomNumberGenerator的函数,其中只有一行代码。基本上,它的目的是返回一个介于0和2之间的数字。

function randomNumberGenerator() {
    return Math.round(Math.random() * 2);
};

然而,当我试图在我的控制台中记录这个函数的结果时,它向我显示了该函数的大纲(就是它的名字),而不是一个随机数。你可以在这里看到它:

ƒ randomQuestionSelector() {
    return Math.round(Math.random() * 2);
}

我尝试将'Math.round(Math.random() * 2)‘赋值给一个简单的变量,并将该变量记录到控制台。它像预期的那样工作(我得到了一个随机数),所以我很困惑为什么对一个函数做同样的事情不是这样。

希望有人能帮我解决这个问题。谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-09 03:47:40

console.log(randomNumberGenerator)之所以返回这样的值,是因为您并没有真正调用此函数。您调用了每个对象上都存在的默认.toString()方法。并且默认实现(可以被覆盖)返回您在控制台中看到的内容。如果你想得到函数的结果,你需要使用调用函数的()操作符,如下所示:

randomNumberGenerator()

要捕获返回值,可以将其赋值给变量,例如:

const random = randomNumberGenerator()
console.log(random);

这样,您就可以调用函数并将返回值赋给新变量。

票数 0
EN

Stack Overflow用户

发布于 2019-04-09 03:46:51

您需要调用该方法。您可能调用的是console.log(randomNumberGenerator),而不是console.log(randomNumberGenerator())

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55580651

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档