javascriptjqueryvariablesdynamicdynamic-variables

JavaScript Dynamic Variable Names


Ok so I want to create variables as a user clicks threw the code every click adds a new variable. I am currently using jquery and javascript I can't do it server side this must be done in the browser.

newCount = document.getElementById('hello').innerHTML;
    $('.hello').click(function(){
        //set count fast enumeration
        newCount++;
        var hello + newCount = '<p>Hello World</p>';
    }); 

so I want the variables to be hello1, hello2, hello3, hello4, etc.


Solution

  • You can only do that with bracket notation, which means you have to attach the variables to something.
    The global scope would be window, so that would be window['hello' + newCount], but polluting the global namespace with a bunch of random properties doesn't sound like a good idea, so using an object seems better

    var vars = {};
    var newCount = parseInt($('#hello').html(), 10);
    
    $('.hello').click(function(){
        newCount++;
        vars['hello' + newCount] = '<p>Hello World</p>';
    }); 
    
    alert( vars['hello1'] );
    

    FIDDLE