Javascript-显示数组元素

Javascript-显示数组元素,javascript,Javascript,我试图运行一个简单的Javascript来显示通过拆分字符串创建的数组元素。代码如下: <!DOCTYPE html> <html> <body> <h1>JavaScript Loops</h1> <p id="demo"></p> <script> var text = "01/01/2016"; var parts = text.split("/"); var i; for

我试图运行一个简单的Javascript来显示通过拆分字符串创建的数组元素。代码如下:

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Loops</h1>

<p id="demo"></p>

<script>
  var text = "01/01/2016";
  var parts = text.split("/");
  var i;
  for (i = 0; i < parts.length; i++) {
    var x += parts[i] + "<br>";
  }
  document.getElementById("demo").innerHTML = x;
</script>

</body>
</html>

JavaScript循环

var text=“01/01/2016”; var parts=text.split(“/”); var i; 对于(i=0;i”; } document.getElementById(“demo”).innerHTML=x;

上面的代码在浏览器上没有显示任何内容,我一辈子都无法找出错误所在。有人能提供建议吗?

你只是在一个基本概念上失败了。必须在循环之前声明var x,如下所示:

var x = '';
for (i = 0; i < parts.length; i++) {
    x += parts[i] + "<br>";
}
var x='';
对于(i=0;i”;
}

你只是在一个基本概念上失败了。必须在循环之前声明var x,如下所示:

var x = '';
for (i = 0; i < parts.length; i++) {
    x += parts[i] + "<br>";
}
var x='';
对于(i=0;i”;
}

fgil给了你一个很好的答案-你在循环中声明了x变量,第一个-它没有初始化(你在+=”上得到了错误),第二个-你通过在循环中声明来重置每次迭代的变量。但我认为这个循环是不必要的。若使用数组的join方法,可以使代码更加简单和简短。看看这个:

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Loops</h1>

<p id="demo"></p>

<script>
  var text = "01/01/2016";
  var parts = text.split("/");
  var x = parts.join("<br>") + "<br>";
  document.getElementById("demo").innerHTML = x;
</script>

</body>
</html>

JavaScript循环

var text=“01/01/2016”; var parts=text.split(“/”); var x=零件。连接(“
”)+“
”; document.getElementById(“demo”).innerHTML=x;

您可以在一行中完成:

document.getElementById("demo").innerHTML = "01/01/2016".split("/").join("<br>") + "<br>";
document.getElementById(“演示”).innerHTML=“01/01/2016”。拆分(“/”).join(“
”)+”
”;
fgil给了你一个很好的答案-你在循环中声明了x变量,第一个-它没有初始化(你在+=”上得到了错误),第二个-你通过在循环中声明来重置每次迭代的变量。但我认为这个循环是不必要的。若使用数组的join方法,可以使代码更加简单和简短。看看这个:

<!DOCTYPE html>
<html>
<body>

<h1>JavaScript Loops</h1>

<p id="demo"></p>

<script>
  var text = "01/01/2016";
  var parts = text.split("/");
  var x = parts.join("<br>") + "<br>";
  document.getElementById("demo").innerHTML = x;
</script>

</body>
</html>

JavaScript循环

var text=“01/01/2016”; var parts=text.split(“/”); var x=零件。连接(“
”)+“
”; document.getElementById(“demo”).innerHTML=x;

您可以在一行中完成:

document.getElementById("demo").innerHTML = "01/01/2016".split("/").join("<br>") + "<br>";
document.getElementById(“演示”).innerHTML=“01/01/2016”。拆分(“/”).join(“
”)+”
”;
这一行很棘手,因此任何JavaScript编译器都会抱怨:

var x += parts[i] + "<br>";

稍后,您将能够使用运算符
+=
,然后不需要使用
var
关键字。

这一行很棘手,因此任何JavaScript编译器都会抱怨:

var x += parts[i] + "<br>";

稍后,您将能够使用运算符
+=
,然后不需要使用
var
关键字。

在for循环外定义x

var text = "01/01/2016";
var parts = text.split("/");
var x = "";
for (i = 0; i < parts.length; i++) { 
    x = x + parts[i] + "<br>";
}
document.getElementById("demo").innerHTML = x;
var text=“01/01/2016”;
var parts=text.split(“/”);
var x=“”;
对于(i=0;i”;
}
document.getElementById(“demo”).innerHTML=x;

在for循环外定义x

var text = "01/01/2016";
var parts = text.split("/");
var x = "";
for (i = 0; i < parts.length; i++) { 
    x = x + parts[i] + "<br>";
}
document.getElementById("demo").innerHTML = x;
var text=“01/01/2016”;
var parts=text.split(“/”);
var x=“”;
对于(i=0;i”;
}
document.getElementById(“demo”).innerHTML=x;

您应该检查开发人员控制台中的errors@Craicerjackvar声明不是块作用域,所以这不是真的。@安德烈·韦朗:你当然是对的。你应该检查开发人员控制台以了解更多信息errors@Craicerjackvar声明不是块作用域,所以这不是真的。@AndréWerlang你当然是对的。有一个基本概念你失败了,叫做提升,除了fgil对于这个特殊用途是正确的。可以挂起变量声明,但不挂起初始赋值。我甚至不知道从哪里开始使用+=和变量声明。我认为如果它真的起作用的话,它将是未定义的。有一个基本的概念你失败了,叫做提升,除了fgil对于这个特殊的用途是正确的。可以挂起变量声明,但不挂起初始赋值。我甚至不知道从哪里开始使用+=和变量声明。我认为如果它真的起作用,它将是不确定的。。。。。