好的,我最近一直在问很多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”。由于每个循环都在增加,它会从数组中提取正确的信息。
答案 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。
这将帮助您了解正在发生的事情,然后您可以查看元素的属性并监控实际发生的情况。