关于字符串和整数值的JavaScript

关于字符串和整数值的JavaScript,javascript,Javascript,我需要帮助学习这个。提前谢谢 <label>Value 1</label> <input type="text" id="value1" name="value1" /><br /> <script> var num1 = document.getElementById("value1"); parseInt(num1.value) // this gives an integer when you key in an intege

我需要帮助学习这个。提前谢谢

<label>Value 1</label> <input type="text" id="value1" name="value1" /><br />

<script>

var num1 = document.getElementById("value1");
parseInt(num1.value) // this gives an integer when you key in an integer in the input box.

var num1 = document.getElementById("value1").value;
parseInt(num1) // this gives NaN when you key in an integer in the input box. 

</script>
值1
var num1=document.getElementById(“value1”); parseInt(num1.value)//当您在输入框中输入一个整数时,它给出一个整数。 var num1=document.getElementById(“value1”).value; parseInt(num1)//当您在输入框中输入一个整数时,它给出NaN。

我可以知道他们之间为什么有区别吗?我以为他们是一样的,但事实并非如此

这两个例子似乎是相同的,但另一个是错误的。可能您正在覆盖
num1
变量?试试这个:

var num1 = document.getElementById("value1");
parseInt(num1.value) // this gives an integer when you key in an integer in the input box.

var num2 = document.getElementById("value1").value;
parseInt(num2) // this gives NaN when you key in an integer in the input box. 
从您的新帖子(您作为答案发布,现在已被删除)中,您试图在插入值之前从输入字段中获取值

将这些行移到函数内
添加
,以便仅在单击按钮后才将值指定给变量

var num1 = document.getElementById("value1").value;
var num2 = document.getElementById("value2").value;
函数应该是

function add () {
  var num1 = document.getElementById("value1").value;
  var num2 = document.getElementById("value2").value;
  var sumup = parseInt(num1.value) + parseInt(num2.value);
  document.getElementById("output").innerHTML = "The total is " + sumup;
}
你的问题的答案是,两者之间没有区别

var num1 = document.getElementById("value1");
parseInt(num1.value)

检查下面的代码片段


值1

价值2


添加 document.getElementById(“addup”).addEventListener(“单击”,添加); 函数add(){ var num1=document.getElementById(“value1”).value; var num2=document.getElementById(“value2”).value; var sumup=parseInt(num1)+parseInt(num2); document.getElementById(“output”).innerHTML=“总计为”+总计; }
这不会发生;没有区别,如果你看到了区别,那是因为你没有提供相同的值,或者其他错误。从你的帖子中很难看出。你的例子格式不正确。你能具体告诉我们你测试了什么,以及你如何分别检查和解析给定的输入吗?两者都给出了相同的结果(在这里演示:)。如果字段有一个数字,则两者都将显示一个数字。如果字段中没有数字,您将得到
NaN
(不是数字)如果要解析的值以数值开头,则parseInt()将不会返回NaN。。3u8将导致3,例如,这是对问题的注释,而不是答案。还要注意,即使第二次提取覆盖了
num1
,也不能解释每种情况下的不同结果。你对我的另一个回答的干预表明你对我的回答感到不安,如果你有这种感觉,我很抱歉。但老实说,唯一正确的态度是等待问题得到改善或解决。
var num1 = document.getElementById("value1").value;
parseInt(num1)