Имена Динамических Переменных JavaScript


Итак, я хочу создать переменные, так как пользователь щелкает по коду, каждый щелчок добавляет новую переменную. Я в настоящее время использую jquery и javascript я не могу сделать это на стороне сервера это должно быть сделано в браузере.

newCount = document.getElementById('hello').innerHTML;
    $('.hello').click(function(){
        //set count fast enumeration
        newCount++;
        var hello + newCount = '<p>Hello World</p>';
    }); 
Поэтому я хочу, чтобы переменные были hello1, hello2, hello3, hello4 и т. д.
6 9

6 ответов:

Вы можете сделать это только с помощью скобочной нотации, Что означает, что вы должны прикрепить переменные к чему-то.
Глобальная область будет окном, так что это будет window['hello' + newCount], но загрязнение глобального пространства имен кучей случайных свойств не кажется хорошей идеей, поэтому использование объекта кажется лучше

var vars = {};
var newCount = parseInt($('#hello').html(), 10);

$('.hello').click(function(){
    newCount++;
    vars['hello' + newCount] = '<p>Hello World</p>';
}); 

alert( vars['hello1'] );

Скрипка

В JavaScript (как я знаю) есть 2 способа, с помощью которых можно создавать динамические переменные:

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]);

Для большей инфорамции Как объявлять и использовать динамические переменные в javascript?

Я бы просто использовал простой массив для хранения переменных. Тогда объект с индексом n будет переменной n и т. д..

Вы можете использовать window

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

Аналогично..

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 ]);
    }); 
var newCount = 0;
$('#btn').click(function(){

    newCount++;
    $('#hello').html('hello' + newCount);
}); 

Jsfiddle

Самый простой способ

var types = {};

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

Консоль.log(типы);

Вы можете проверить его на

Jsfiddle