好吧,所以这里是一个在构造函数中有六项数组的类。
class forLoopProblem {
constructor() {
this.a = [5,8,7,4,6,18];
}
我想要做的是使用数组的长度来限制下面for
循环中的迭代次数
iterate(ap1) {
for (i = 0; i <= this.a.length; i++) {
console.log(i);
}
}
}
var internalVar = new forLoopProblem();
不幸的是,internalVar.iterate()
会产生一个异常,说明a
未定义。
log() {
console.log(this.a.length);
console.log(this.a);
}
}
var internalVar = new forLoopProblem();
但如果未定义a
,那么internalVar.log()
为什么会按预期运行,将6
以及数组内容打印到控制台?
起初我想也许6
是一个字符串,需要在循环赋值识别它之前转换为整数。所以我尝试了parseInt()
,但那并没有奏效。无论如何,例外情况表明变量没有被定义,所以我不认为它是一个解析问题。
我甚至可以使用a
将初始迭代变量分配给6,如下所示:
for (i = this.a.length; i <= 10; i++) {
生成6
,7
,8
,9
和10
作为控制台输出。
那么限制器规范给出了什么?
答案 0 :(得分:1)
适合我,虽然我必须在for循环中定义i
:
的JavaScript
class forLoopProblem {
constructor() {
this.a = [5,8,7,4,6,18];
}
itterate(ap1) {
for (var i = 0; i <= this.a.length; i++) {
console.log(i);
}
}
}
var internalVar = new forLoopProblem();
internalVar.itterate(); //0, 1, 2, 3, 4, 5, 6
测试: