Имена Динамических Переменных JavaScript
Ok, поэтому я хочу создавать переменные, когда пользователь нажимает на код, каждый щелчок добавляет новую переменную. В настоящее время я использую 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, так что это будет 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]);
для больше inforamtion как объявить и использовать динамические переменные в 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 types = {};
for(var i=1; i<=3; i++){
types["ashish"+i] = 'The value of dynamic variable, val';
}