gpt4 book ai didi

javascript - Number ("999") 给出 999 但 Number(input.value) 给出 NaN,即使显示 input.value 给出 "999"正是我在 Number ("999"中输入的内容

转载 作者:行者123 更新时间:2023-12-02 16:24:57 24 4
gpt4 key购买 nike

Screenshot of my attempt

我是编码初学者。刚开始学JS。这也是我在这个论坛上的第一篇文章。问题:请看代码。 “999”是用引号输入的。首先是 Number("999"),在屏幕上显示 999。但是如果我在输入框中输入“999”(包括引号),然后使用 Number() 转换输入框中的值,它会显示 NaN???即使当我显示输入值时,它是“999”。

请指导。

附:我尝试上传截图,但似乎没有显示!但网址在我帖子的开头。

<html>
<body>
<p id="demo1"></p>
<br>
<br>
<br>
<input id="number" />
<br>
<button onclick="fn()"> Type "999" with quotes</button>
<p id="demo2"></p>
<p id="demo3"></p>
<script>
document.getElementById("demo1").innerHTML = Number("999");
function fn()
{
var age = Number(document.getElementById("number").value);
document.getElementById("demo2").innerHTML = age;
document.getElementById("demo3").innerHTML = document.getElementById("number").value;

}
</script>
</body>
</html>

最佳答案

当您在输入框中输入999时,输入框的值为“999”。在代码中引用 value 属性将被视为与文字 "999" 相同。

当您在输入框中输入"999"时,输入框的值为"\"999\""

这样想:如果您在输入框中键入 foo bar,则该值必须是字符串 "foo bar"。该值不能是 foo bar。这不是有效的 JavaScript 语法。

<小时/>

如果您想允许引号但不要求它们,您可以通过文本替换去掉所有引号:

var age = Number(document.getElementById("number").value.replace(/"/g, ''));

如果引号有意义并且值像 JavaScript 字符串一样被解释很重要,您可以使用 JSON.parse:

var age = Number(JSON.parse(document.getElementById("number").value));

关于javascript - Number ("999") 给出 999 但 Number(input.value) 给出 NaN,即使显示 input.value 给出 "999"正是我在 Number ("999"中输入的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36927044/

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