gpt4 book ai didi

javascript - 为什么 'valueAsNumber' 返回 NaN 作为值?

转载 作者:可可西里 更新时间:2023-11-01 02:33:42 27 4
gpt4 key购买 nike

在下面的代码中,我试图调用 valueAsNumber 但我只得到一个 NaN 返回值。当我使用 parseInt 时,我得到了我期望的结果。这是为什么?

<html>                                                                                                                                                                                                     
<head>
<title>JavaScript: Demo 1</title>
<link rel="stylesheet" type="text/css" href="index.css">
</head>

<body>
<div id="numbers">
<div id="inputs">
<form name="inputForm">
<div class="prompt">Number 1: <input name="number1" type="text"></div>
<div class="prompt">Number 2: <input name="number2" type="text"></div>
</form>
</div>
<div id="result">
<div class="prompt">RESULT: <span id="operation_result">&nbsp;</span></div>
</div>
</div>
<div id="operations">
<p><a id="add_link" href="#" onClick="add(this)">ADD</a></p>
</div>

<script type="text/javascript">
function add(linkElement){
// var value1 = parseInt(document.inputForm.number1.value);
// var value2 = parseInt(document.inputForm.number2.value);

var value1 = document.inputForm.number1.valueAsNumber;
var value2 = document.inputForm.number2.valueAsNumber;
var result = value1 + value1;

document.getElementById('operation_result').innerHTML = result;
}
</script>

</body>
</html>

最佳答案

考虑到属性名称,您的期望是合理的,但阅读实际 specs/documentation :

The valueAsNumber IDL attribute represents the value of the element,interpreted as a number.

On getting, if the valueAsNumber attribute does not apply, as definedfor the input element's type attribute's current state, then return aNot-a-Number (NaN) value.

Here's a table该列表的 type 适用于 valueAsNumber。它们是:

  • 日期和时间 (datetime)(注意此 type="" 现在在 HTML LS 中已过时)
  • 日期(日期)
  • 月份(月份)
  • 周()
  • 时间(时间)
  • 本地日期和时间(datetime-local)
  • 数字(数字)
  • 范围(范围)

观察到 type="text" 明显不在上面的列表中,因此 textInput.valueAsNumber 将始终返回 NaN 即使 isNaN( parseInt( textInput.value, 10 ) ) === false

关于javascript - 为什么 'valueAsNumber' 返回 NaN 作为值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18062069/

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