一个基本的Javascript For循环

A basic Javascript For loop

本文关键字:Javascript For 循环 一个      更新时间:2023-09-26

@http://jsfiddle.net/defencedog/rrKYW/

最近的一个观察深深地盗用了我对js的了解。看看下面的代码:

var x = "";
function postbody() {
    for (i = 0; i < 5; i++) {
        x = x + "<sup>" + i + "</sup><br/>";
        document.getElementById("posti").innerHTML = x;
    }
}​

上面的代码的输出与下面的&对我来说是模糊的

var x = "";
function postbody() {
    for (i = 0; i < 5; i++) {
        x = x + "<sup>" + i + "</sup><br/>";
    }
  document.getElementById("posti").innerHTML = x;
}​

后一个代码必须给我一个单独的(简明地说是x的最后一个值)输出&不是整个迭代输出?

两个代码段完成了相同的任务;第一个片段的性能稍差,因为它在构建字符串时覆盖值5次,而不是一次写入最后一个字符串。

无关:i是一个隐式全局。使用CCD_ 2。

两者都将导致相同的结果。

x = x + ...

当然可以。您在每次迭代中将新代码添加到x,然后在元素中设置它。设置innerHTML将覆盖元素的整个内容。

在第一个循环中,每次迭代都会用一个稍大的html覆盖元素的html,但最后一次迭代是用x的"完整"值覆盖它的迭代。

所以最终的结果是一样的,但第一个结果要慢一些。

这两个例子是相同的,因为在第一个例子中,每次迭代都会覆盖innerHTML,而变量x的值则与其他字符串连接。到最后一次迭代时,元素的innerHTML将具有x的总值。