Ok, je veux donc créer des variables lorsqu'un utilisateur clique sur le code et chaque clic ajoute une nouvelle variable. J'utilise actuellement jquery et javascript. Je ne peux pas le faire côté serveur, cela doit être fait dans le navigateur.
newCount = document.getElementById('hello').innerHTML;
$('.hello').click(function(){
//set count fast enumeration
newCount++;
var hello + newCount = '<p>Hello World</p>';
});
donc je veux que les variables soient bonjour1, bonjour2, bonjour3, bonjour4, etc.
Vous ne pouvez le faire qu'avec la notation entre crochets, ce qui signifie que vous devez attacher les variables à quelque chose.
La portée globale serait la fenêtre, donc ce serait window['hello' + newCount]
, mais polluer l’espace de noms global avec un tas de propriétés aléatoires ne semble pas une bonne idée, utiliser un objet semble donc préférable
var vars = {};
var newCount = parseInt($('#hello').html(), 10);
$('.hello').click(function(){
newCount++;
vars['hello' + newCount] = '<p>Hello World</p>';
});
alert( vars['hello1'] );
En JavaScript (comme je le sais), il existe deux manières de créer des variables dynamiques:
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]);
pour plus d'informations .__ Comment puis-je déclarer et utiliser des variables dynamiques en javascript?
vous pouvez utiliser window
var window['hello' + newCount ] = '<p>Hello World</p>';
également..
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 ]);
});
Je voudrais juste utiliser un tableau simple pour stocker les variables. Alors l'objet avec l'indice n serait la variable n etc.
Moyen le plus simple
var types = {};
for(var i=1; i<=3; i++){
types["ashish"+i] = 'The value of dynamic variable, val';
}
console.log (types);
vous pouvez le tester
var newCount = 0;
$('#btn').click(function(){
newCount++;
$('#hello').html('hello' + newCount);
});