繁体   English   中英

JavaScript动态变量名称

[英]JavaScript Dynamic Variable Names

好的,所以我想创建变量,因为用户点击后每次点击都会添加一个新变量。 我目前正在使用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等。

您只能使用括号表示法执行此操作,这意味着您必须将变量附加到某些内容。
全局范围将是窗口,因此它将是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中(据我所知),有两种方法可以创建动态变量:

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中声明和使用动态变量?

你可以使用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 ]);
    }); 

我只想使用一个简单的数组来存储变量。 那么索引为n的对象就是变量n等。

最简单的方法

var types = {};

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

的console.log(类型);

你可以测试一下

的jsfiddle

var newCount = 0;
$('#btn').click(function(){

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

的jsfiddle

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM