Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我在做计算器,当我加上数字1+;1在我的输入中,我得到了答案1。为什么?_Javascript_Html_Math_Input - Fatal编程技术网

Javascript 我在做计算器,当我加上数字1+;1在我的输入中,我得到了答案1。为什么?

Javascript 我在做计算器,当我加上数字1+;1在我的输入中,我得到了答案1。为什么?,javascript,html,math,input,Javascript,Html,Math,Input,输入值=“1+1”但当我使用console.log(salyga)时,我得到的答案是“1”。另外,如果我只在输入中输入+并将其记录下来,我得到的答案是NaN,我不明白为什么数学不起作用。 另外,如果我更改了输入type=“number”,则会出现此错误(指定的值“+”无法解析,或超出范围。) let salyga=document.querySelector(“.container\uu langai--salyga”); const vienas=document.querySelector

输入值=“1+1”但当我使用console.log(salyga)时,我得到的答案是“1”。另外,如果我只在输入中输入+并将其记录下来,我得到的答案是NaN,我不明白为什么数学不起作用。 另外,如果我更改了输入type=“number”,则会出现此错误(指定的值“+”无法解析,或超出范围。)

let salyga=document.querySelector(“.container\uu langai--salyga”);
const vienas=document.querySelector(“vienas”);
常数一=+vienas.value
vienas.addEventListener(“单击”,编号1);
函数编号1(){
salyga.value+=1
}
const lygu=document.querySelector(“#lygu”);
常数等于等于lygu.value
lygu.addEventListener(“单击”,opLygu);
const plius=document.querySelector(“#plius”);
常数plus=plius.value
plius.addEventListener(“点击”,opPlius);
函数opLygu(){
console.log(parseFloat(salyga.value))
}
函数opPlius(){
salyga.value+=加号
}

1.
=

+
要解决此问题,请参阅以下信息。从标记中获取的文本始终是字符串,即使您将输入的类型设置为number也无关紧要,因此分别使用parseInt()和parseFloat()将其转换为int或float。下面的示例演示了正确的用法

alert(parseInt(document.getElementById("input_name").value));

alert(parseFloat(document.getElementById("input_name").value));
摘自:

此函数用于确定指定字符串中的第一个字符是否为数字。如果>它是,它将解析字符串,直到它到达数字的末尾,并将数字>作为数字而不是字符串返回。 注意:只返回字符串中的第一个数字


因此,当您将
1+1
传递到
parseFloat
时,它将只返回
1
您的代码
文档生成DOM元素的集合,而不是您期望的单个元素。如果只找到1个元素并不重要,它仍然返回一个集合(其中有1个项)

要直接获取项目,请使用:


但是我做了const one=+vienas.value,它与const one=parseInt(vienas.value)相同
const vienas = document.getElementById("vienas");