use*_*553 0 javascript arrays console canvas
下午好,我遇到了我的代码问题:我有一个for函数向数组变量添加值但是每当我运行页面时它都会给出一个错误,指出数组是空的.这是为数组添加值的代码:
if(this.Type === "Image") {
this.Frames = [];
for(var i = 0; i <= Sources.length - 1; i++) {
var Img = new Image();
Img.src = Sources[i];
this.Frames["Frame" = i] = Img;
}
} else {
this.Frames = [];
for(var i = 0; i <= Sources.length - 1; i++) {
this.Frames["Frame" + i] = Sources[i];
}
}
Run Code Online (Sandbox Code Playgroud)
代码运行正常.我怎么知道的?好吧,我继续使用JavaScript控制台并检查数组的值.它说框架[0],但是当我折叠它时,它有Frame0,当我折叠它时,它所拥有的源是正确的源.那么,这是怎么回事?这是一个小故障还是我做错了以前我不知道的事情?提前致谢.
那是因为JavaScript只有数字数组.它不具有关联数组.
执行:时this.Frames["Frame" + i] = Sources[i];,您要做的是向数组添加属性(在JavaScript中,一切都是对象,因此可以具有属性).你实际上并没有推动阵列.
你可以做的一件事就是使用一个对象:this.Frames = {};.
或者,您可以.push()将其用作数组并将其用作数字数组.
this.Frames[i] = Sources[i];
// or
this.Frames.push(Sources[i]);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
57 次 |
| 最近记录: |