javascript for()循环,split()和数组问题

时间:2009-12-10 17:12:22

标签: javascript arrays split for-loop

好的,我最近一直在问很多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”。由于每个循环都在增加,它会从数组中提取正确的信息。

2 个答案:

答案 0 :(得分:12)

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

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

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

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

答案 1 :(得分:1)

您的分析是正确的,但您应该通过测试来看到它。在Firefox中使用Firebug扩展程序,您可以单步执行javascript。

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