在JavaScript中使用循环增加变量数

在JavaScript中使用循环增加变量数,javascript,Javascript,我想用“循环”迭代多个语句 我想知道我想做什么,甚至可以与循环 var bomb = bombs.create(x,16,'bomb'); bomb.setBounce(1); bomb.setCollideWorldBounds(true); bomb.setVelocity(Phaser.Math.Between(-200,200),20); bomb.allowGravity =false; var bomb1 = bombs.create(x,16,'

我想用“循环”迭代多个语句 我想知道我想做什么,甚至可以与循环

 var bomb = bombs.create(x,16,'bomb');
    bomb.setBounce(1);
    bomb.setCollideWorldBounds(true);
    bomb.setVelocity(Phaser.Math.Between(-200,200),20);
    bomb.allowGravity =false;

var bomb1 = bombs.create(x,16,'bomb');
    bomb1.setBounce(1);
    bomb1.setCollideWorldBounds(true);
    bomb1.setVelocity(Phaser.Math.Between(-200,200),20);
    bomb1.allowGravity =false;

var bomb2 = bombs.create(x,16,'bomb');
    bomb2.setBounce(1);
    bomb2.setCollideWorldBounds(true);
    bomb2.setVelocity(Phaser.Math.Between(-200,200),20);
    bomb2.allowGravity =false;

var bomb3 = bombs.create(x,16,'bomb');
    bomb3.setBounce(1);
    bomb3.setCollideWorldBounds(true);
    bomb3.setVelocity(Phaser.Math.Between(-200,200),20);
    bomb3.allowGravity =false;
唯一的变化是“bomb”变量后面的数字正递增。
是否可以使用循环迭代100次以上?

是的,您可以这样使用循环,例如:

var objs = {}
const total = 10;

const getBomb = () => {
    var bomb = bombs.create(x, 16, 'bomb');
    bomb.setBounce(1);
    bomb.setCollideWorldBounds(true);
    bomb.setVelocity(Phaser.Math.Between(-200, 200), 20);
    bomb.allowGravity = false;

    return bomb;
}

for (let i = 0; i < total; i++) {
    objs[`bomb${i}`] = getBomb();
}

console.log('objs', objs)
var objs={}
常数总数=10;
常量getBomb=()=>{
var-bomb=bombs.create(x,16,'bomb');
炸弹。每盎司(1);
bomb.setCollizeWorldBounds(true);
炸弹设定速度(相量数学介于(-200200),20);
bomb.allowGravity=false;
返回炸弹;
}
for(设i=0;i
我认为在JavaScript中使用动态变量的名称不太合适

在这些情况下,可以使用数组

示例:

var allBombs = [];
for (let i = 0; i < 100; i++) {
    var bomb = bombs.create(x, 16, 'bomb');
    bomb.setBounce(1);
    bomb.setCollideWorldBounds(true);
    bomb.setVelocity(Phaser.Math.Between(-200, 200), 20);
    bomb.allowGravity = false;
    allBombs.push(bomb);
}
console.log(allBombs);// log all
console.log(allBombs['15']);// log one(15)
var-allBombs=[];
for(设i=0;i<100;i++){
var-bomb=bombs.create(x,16,'bomb');
炸弹。每盎司(1);
bomb.setCollizeWorldBounds(true);
炸弹设定速度(相量数学介于(-200200),20);
bomb.allowGravity=false;
所有炸弹。推(炸弹);
}
console.log(所有炸弹);//全部记录
console.log(所有炸弹['15']);//日志一(15)
但同样,有一些解决方案,我建议您遵循以下步骤:

示例:

var allBombs = [];
for (let i = 0; i < 100; i++) {
    var bomb = bombs.create(x, 16, 'bomb');
    bomb.setBounce(1);
    bomb.setCollideWorldBounds(true);
    bomb.setVelocity(Phaser.Math.Between(-200, 200), 20);
    bomb.allowGravity = false;
    allBombs.push(bomb);
}
console.log(allBombs);// log all
console.log(allBombs['15']);// log one(15)
var k='bomb';
var i=0;
对于(i=1;i<5;i++){
评估('var'+k+i+'='+i+';');
}
console.log(“bomb1=“+bomb1”);
console.log(“bomb2=“+bomb2”);
console.log(“bomb3=“+bomb3”);
console.log(“bomb4=“+bomb4”)
//演示的Bomb构造函数-您可以在此处使用'bombs.create'函数
功能炸弹{
this.collizeWorldBounds=true;
这个速度=零;
this.allowGravity=false;
}
//存储所有炸弹的阵列,使用此阵列代替bomb1、bomb2、bomb3等。
常量炸弹=[];
//循环预定的迭代次数并填充数组。
for(设i=0;i<100;i++){
常量炸弹=新炸弹();
//在此处设置任何其他“bomb”实例属性
炸弹。推(炸弹);
}
//请参阅数组的内容

控制台.日志(炸弹)不,这是不可能的,但您不需要它。你需要的是一个数组,这里有一个教程:数组可能会有帮助?。因此,循环并推送到一个数组。如果你发现其他问题有答案,请将该问题标记为重复问题,不要回答。是的,但我认为这个问题可能与其他问题略有不同,因为我认为这个方法并不重要,而且正在寻找解决方案,所以我还说了两种不同的解决方案