我有一个代码。首先,我认为这很简单,但不是我。
我无法更新变量。我知道为什么我无法更新。但是我该如何解决这个问题呢?我需要var“sum”等于7。
<p id="demo">DEMO</p>
<script>
var number1 = 5;
var number2 = 0;
var p = document.createElement("p");
var sum = document.createTextNode("sum = " + (number1 + number2).toFixed());
var number2 = 2; /*It is possible somehow update a variable "sum", which can equal after "var number2 = 2;" not 5 and update to 7? The var "sum" must updates to 7.
HOW CAN REALIZE THAT IDEA??? OR what advice or solve you can give to me?
*/
p.appendChild(sum);
demo.appendChild(p);
</script>
https://jsfiddle.net/Lrpuro23/2/
答案 0 :(得分:0)
var sum是文档的textnode,number1 + number2的结果已被评估并输入到字符串中,因此更新number2对总和没有影响 即使你这样编码,你也不能改变之前计算的和的值,并且在你明确地对sum进行更改之前是相同的
var number1 = 5;
var number2 = 2;
var sum = number1 + number2;
var number2 = 4; //the sum will still has value of 7
答案 1 :(得分:0)
添加元素后,您将无法再访问该内容 所以我所做的是直接创建一个引用插入元素并编辑它的内容。
我也做了一点功能,所以你没有这个代码两次。
var container = document.getElementById("result");
var number1 = 5;
var number2 = 0;
printResult();
var number2 = 2;
printResult();
function printResult() {
container.innerHTML = "sum = " + (number1 + number2).toFixed();
}
<p id="result"></p>