我无法更新变量

时间:2016-02-22 08:12:26

标签: javascript variables

我有一个代码。首先,我认为这很简单,但不是我。

我无法更新变量。我知道为什么我无法更新。但是我该如何解决这个问题呢?我需要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/

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>

相关问题