gpt4 book ai didi

javascript - 为什么数字会转换为字符串(基本的Javascript函数)

转载 作者:行者123 更新时间:2023-11-28 16:21:23 24 4
gpt4 key购买 nike

我有这个函数(通过 Eloquent Javascript 教程第 3 章):

function absolute(number) {

if (number < 0)
return -number;
else
return number;
}

show(absolute(prompt("选择一个数字", "")));

如果我运行它并输入 -3,输出将是 3,如预期,但如果我只输入 3,输出将是“3”(带双引号)。我可以通过改变来解决

return number;

至 返回数字(数字);

但是为什么这是必要的呢?我缺少什么?

最佳答案

prompt() 始终返回一个字符串,但当您输入负数时,它会被传递给 -number 调用并隐式转换为 Number 。如果您向其传递一个正数,则不会发生这种情况,并且直接返回 prompt() 收到的值。

正如您所发现的,您可以使用 Number() 对其进行转换,也可以使用 parseInt(number, 10),或者您可以执行 - (-number) 将其翻转为负数,然后再次翻转为正数,或者更明显,如注释中指出的,+number。 (不要执行--number,这会将其转换为 Number 然后递减)

关于javascript - 为什么数字会转换为字符串(基本的Javascript函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9471166/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com