有人可以帮帮我吗?
我目前正在学习Javascript,而且我不明白以下代码的错误:
var names = ["vasco", "joão", "francisco", "rita", "manuel"];
for (var i = 0; i < 4; i++); {
console.log("I know someone called " + names[i] + ".");
}
&#13;
答案 0 :(得分:1)
JavaScript中的数组是零索引的。这意味着第一个位置的元素位于索引gulp.task('sass', function() {
return gulp.src('./source/css/pattern-global.scss')
.pipe(sourcemaps.init())
.pipe(sassGlob()) //this was what I was missing
.pipe(sass({includePaths: ['./source/_patterns/']}).on('error', sass.logError))
.pipe(sourcemaps.write())
.pipe(gulp.dest('./source/css/patterns/'));
});
。要定位该元素,您可以像0
一样引用它。在循环中,您在names[0]
时进行迭代,这意味着一旦i < 4
变为4,循环就会停止并且不会继续。所以你只打了4次i
。迭代数组时的常见做法是说console.log
。另外还有一些语法错误正如其他人指出的那样。以下是工作版本。
i < names.length
答案 1 :(得分:1)
因为你用分号(;)来终止for循环,所以for循环被它的块分隔。
然后,
问题1。代码运行时接下来会做什么?
Ans。当执行进入for循环时,循环执行直到i的值变为4 。然后,执行下一个块语句。
Ques2。为什么“manuel”打印在o / p?
Ans。回答很简单,因为当 i的值变为4 时,foor循环终止,所以
console.log("I know someone called " + names[i] + "."); //it prints the arr[4]
答案 2 :(得分:0)
你有;在你的结尾,只需删除它
答案 3 :(得分:0)
请删除for后面的分号:
var names=["vasco","joão","francisco","rita","manuel"];
for ( var i=0; i <5 ; i ++) {
console.log ("I know someone called"+" "+names[i]+".");
}
条件i&lt; 4是停止最后一个案例
答案 4 :(得分:0)
您编写的代码有两个问题,
1-条件for(condition);
之后你有一个分号
这导致循环没有做任何事情
2-你离开了一个,数组的最后一个元素有索引4
条件应为(i <= 4)
或(i < array.length)
var names = ["vasco", "joão", "francisco", "rita", "manuel"];
for (var i = 0; i < names.length; i++){
console.log("I know someone called " + names[i] + ".");
}