可以在按钮onclick上创建带有新名称的新变量吗?

时间:2017-03-21 06:27:52

标签: javascript

我想知道按下按钮时是否可以创建新变量。例如:如果我有一个名为enemy1的变量并按下按钮,是否可以创建名为enemy2的变量?如果这看起来像个愚蠢的问题,我很抱歉。我想创建一个for循环,我可以根据'i'定义一个名称变化的变量。

2 个答案:

答案 0 :(得分:0)

可能最好使用数组(在点击时添加新值)或对象(在点击时添加新键)。我认为你应该使用一个数组,所以这是一个例子:



const enemies = [];

class Enemy {
   speak () {
      return 'COME AT ME BRO!!!';
   }
}

document.querySelector('#createEnemy').addEventListener('click', function(event) {
   const enemy = new Enemy();
   enemies.push(enemy);
   console.log(enemies.length, 'enemies say', enemy.speak());
}, false);

<button id="createEnemy">Create Enemy</button>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

您不需要动态变量,而是需要一个包含动态大小的变量(动态敌人数量)。以下是您需要的代码。 Here you can see demo

    <button id='createEnemy' onclick='addEnenemy()'>Add Enenmy</button>
    <div id='enemiesContainer'> </div> 
    <script>
        var enemies = [];    
        var enemyDiv = document.getElementById('enemiesContainer');
        function addEnenemy() {
           var newEnenmy = 'enemy'+(enemies.length+1);
           enemies.push(newEnenmy);
           //following will show it in your page
           enemyDiv.innerHTML = enemyDiv.innerHTML + '<br/><label>'+newEnenmy+'</label>'; 
           console.log(enemies); //shows in console
        }
    </script>