【问题标题】:javascript for() loop, split(), and array questionjavascript for() 循环、split() 和数组问题
【发布时间】:2010-12-25 08:18:37
【问题描述】:

好吧,我最近一直在问很多 JS 问题,并意识到我需要去学习它。

一直关注http://www.tizag.com/javascriptT 的教程,非常简单明了。

我只是想确保我正确理解了这一点。我花了一段时间才得到它:

<script type="text/javascript">
var myString = "zero one two three four";

var mySplitResult = myString.split(" ");

for(i = 0; i < mySplitResult.length; i++){
    document.write("<br /> Element " + i + " = " + mySplitResult[i]); 
}
</script>

-

var myString = "zero one two three four";

显然这会创建一个简单的字符串变量。

var mySplitResult = myString.split(" ");

使用“”作为分隔符将其拆分,并将其分配给 mySplitResult 数组。正确的?还是不是数组?

for(i = 0; i < mySplitResult.length; i++){

这是说数组中值的数量吗?似乎不能说出字符串中字符的实际长度。

document.write("<br /> Element " + i + " = " + mySplitResult[i]); 

这只是返回 mySplitResult[i] 变量“i”。由于 i 在每个循环中都在增加,因此它会从数组中提取正确的信息。

【问题讨论】:

标签: javascript arrays split for-loop


【解决方案1】:

您的理解基本上是正确的。您应该做的一件事是声明所有变量:这在函数内部尤为重要。因此,您应该在循环之前将i 声明为变量:

var i;
for (i = 0; i < mySplitResult.length; i++) {

...或者在for 语句的第一个表达式中:

for (var i = 0; i < mySplitResult.length; i++) {

【讨论】:

    【解决方案2】:

    您的分析是正确的,但您应该仅通过测试就可以看出这一点。在 Firefox 中使用 Firebug 扩展,您可以单步执行您的 javascript。

    这将帮助您了解正在发生的事情,因为您可以查看元素的属性并监控实际发生的情况。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-15
      • 1970-01-01
      • 2012-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-02
      相关资源
      最近更新 更多