如何在javascript中使用相同的变量显示不同的数据类型值

时间:2017-12-07 14:44:26

标签: javascript

问题:

当我使用相同的变量在java脚本中保存不同的数据类型时, 并且尝试显示所有值,它不显示除了它所持有的最后一个值之外的所有值。有没有其他方法可以显示具有相同变量的所有数据类型值?

脚本:

<script>
var x; 
document.getElementById("demo").innerHTML = x;
x = 5;               
document.getElementById("demo").innerHTML = x;
x = "John";         
document.getElementById("demo").innerHTML = x;
</script>

预期结果:

未定义 五 约翰

实际结果:

约翰

3 个答案:

答案 0 :(得分:3)

&#13;
&#13;
    var x;                   
    document.getElementById("demo").innerHTML += x + ' ';
    x = 5;
    document.getElementById("demo").innerHTML += x + ' ';
    x = "John";
    document.getElementById("demo").innerHTML += x + ' ';
&#13;
<div id="demo"> </div>
&#13;
&#13;
&#13;

每次你设置innerHTML你都会覆盖你需要添加的内容,如下所示。

document.getElementById("demo").innerHTML += x + '<br/>';

答案 1 :(得分:2)

您的变量正在正确分配不同的值,但您在同一DOM元素中显示所有三个实例。每次分配时,当前值都会覆盖最后一个值。它发生得如此之快,你只能看到最后一个(“约翰”)。

为什么不将每个人放在不同的DOM元素中?

var x;                   
document.getElementById("demo1").innerHTML = x;
x = 5;
document.getElementById("demo2").innerHTML = x;
x = "John";
document.getElementById("demo3").innerHTML = x;

答案 2 :(得分:1)

我想评论Scath答案,但我无法发表评论。

就像其他人说你要替换de content一样,你应该使用连接。

但是我会使用br标签而不是'\ n'来获得预期的结果。

<script>
    var x;                   
    document.getElementById("demo").innerHTML = x+ '<br/>';
    x = 5;
    document.getElementById("demo").innerHTML += x+ '<br/>';
    x = "John";
    document.getElementById("demo").innerHTML += x+ '<br/>';
</script>