Man*_*ani 2 javascript numbers
我是编码的初学者.刚开始JS.这是我在这个论坛上的第一篇文章.问题:请参阅代码.输入"999"带引号.首先是数字("999"),在屏幕上显示999.但是如果我在输入框中输入"999"(包括引号),然后使用Number()从输入框转换值,它会显示NaN ??? 即使从输入显示值,也是"999".
请指导.
ps我试图上传截图,似乎没有出现!但网址是我的帖子的开头.
<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>
Run Code Online (Sandbox Code Playgroud)
当您999在输入框中键入内容时,输入框的值为"999".引用value属性将在代码中与文字相同"999".
当您"999"在输入框中键入时,输入框的值为"\"999\"".
这样考虑一下:如果输入foo bar到输入框,则值必须是字符串"foo bar".价值不可能foo bar.这不是有效的JavaScript语法.
如果您想允许引号但不需要引号,则可以使用文本替换删除所有引号:
var age = Number(document.getElementById("number").value.replace(/"/g, ''));
Run Code Online (Sandbox Code Playgroud)
如果引号有意义并且值被解释为javascript字符串很重要,那么可以使用JSON.parse:
var age = Number(JSON.parse(document.getElementById("number").value));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
164 次 |
| 最近记录: |