JavaScript Dynamic Variable Names

前端 未结 6 734
感动是毒
感动是毒 2020-11-27 21:23

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

相关标签:
6条回答
  • 2020-11-27 21:34

    I would just use a simple array to store the variables. Then the object with index n would be variable n etc..

    0 讨论(0)
  • 2020-11-27 21:34

    Most simple way

    var types = {};
    
    for(var i=1; i<=3; i++){
    types["ashish"+i] = 'The value of dynamic variable, val';
    }
    

    console.log(types);

    you can test it on

    jsfiddle

    0 讨论(0)
  • 2020-11-27 21:35

    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

    0 讨论(0)
  • 2020-11-27 21:44

    In JavaScript (as i know) there are 2 ways by which you can create dynamic variables:

    eval Function
    window object
    eval:
    
    var pageNumber = 1;
    eval("var text" + pageNumber + "=123;");
    alert(text1);
    window object:
    
    var pageNumber = 1;
    window["text" + pageNumber] = 123;
    alert(window["text" + pageNumber]);
    

    for more inforamtion How do i declare and use dynamic variables in javascript?

    0 讨论(0)
  • 2020-11-27 21:47
    var newCount = 0;
    $('#btn').click(function(){
    
        newCount++;
        $('#hello').html('hello' + newCount);
    }); 
    

    jsfiddle

    0 讨论(0)
  • 2020-11-27 21:56

    you can use window

    var window['hello' + newCount ] = '<p>Hello World</p>';
    

    likewise..

    newCount = document.getElementById('hello').innerHTML;
        $('.hello').click(function(){
            //set count fast enumeration
            newCount++;
            var window['hello' + newCount ] = '<p>Hello World</p>';
            alert(window['hello' + newCount ]);
        }); 
    
    0 讨论(0)
提交回复
热议问题