Имена Динамических Переменных 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 ответов:
Вы можете сделать это только с помощью скобочной нотации, Что означает, что вы должны прикрепить переменные к чему-то.
Глобальная область будет окном, так что это будет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 ]); });