gpt4 book ai didi

javascript - 为什么类嵌入循环似乎遵循不同的分配规则?

转载 作者:行者123 更新时间:2023-12-03 06:38:36 26 4
gpt4 key购买 nike

好吧,这是一个在构造函数中具有六项数组的类。

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++) {

生成678910作为控制台输出。

那么限制器规范给出了什么?

最佳答案

对我有用,尽管我必须在 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

测试地点:

  • Chrome - 有效
  • Firefox - 有效
  • 歌剧 - 作品
  • IE10 - 不起作用
  • Safari (Win8) - 不起作用

关于javascript - 为什么类嵌入循环似乎遵循不同的分配规则?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38077062/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com