JavaScript动态变量名称

时间:2014-03-29 06:03:58

标签: javascript jquery variables dynamic dynamic-variables

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

答案 0 :(得分:31)

您只能使用括号表示法,这意味着您必须将变量附加到某些内容 全局范围将是窗口,因此它将是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'] );

FIDDLE

答案 1 :(得分:2)

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

更多信息 How do i declare and use dynamic variables in javascript?

答案 2 :(得分:1)

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

答案 3 :(得分:1)

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

答案 4 :(得分:0)

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

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

jsfiddle

答案 5 :(得分:0)

最简单的方式

Actual : IKEA
Expect : IKEA
Test Passed!

的console.log(类型);

你可以在

上测试它

jsfiddle