我将document.getElementById("outcome").value
分配给变量outcome
。
当我单击按钮时,我想设置具有id"结果"的输入值。 to" Something"。
但是当我执行下面的代码时,没有设置输入表单结果。 输入形式的结果仍然没有发生。
function throwDice() {
var point=document.getElementById("point").value;
var outcome=document.getElementById("outcome").value;
outcome=Somthing;
}
之后我修改了我的代码。
function throwDice() {
var point=document.getElementById("point").value;
document.getElementById("outcome").value="Something";
}
我所做的就是删除分配变量结果和
分配"东西"直接到document.getElementById("outcome").value
。
在这种情况下,输入形式结果的值是" Something"。
我的问题是为什么outcome="Something"
无法运作。
答案 0 :(得分:2)
<强>情况:强>
在您的第一个代码中,您只使用outcome
覆盖"Something"
变量值,而不是使用id
outcome
将其写入元素,因此如果您写:
<强>解释强>
您在此声明了outcome
变量,并将其值设置为输入值:
var outcome=document.getElementById("outcome").value;
在这一行中,您要将outcome
变量重置为"Something"
outcome=Somthing;
因此,在这种情况下,outcome
变量只保存输入值,然后您将其更改为"Something"
。
所以回答你的问题:为什么结果=&#34;某事&#34;是不是在运作?,因为outcome
没有引用input
元素value
,但只保留其value
}。
换句话说:
所以在你的第一个代码中,你只是做了这样的事情:
var outcome = 5; //outcome here is 5
outcome = "Something"; //outcome is changed to "Something"
在JavaScript变量中,如果您看到此行为,就会轻松输入变量,您可以查看Understanding Loose Typing in JavaScript以进一步阅读。