我如何声明和使用JavaScript中的dynamicvariables?

假设我需要根据一个计数器来声明一个javascriptvariables,我该怎么做呢?

var pageNumber = 1; var "text"+pageNumber; 

上面的代码不起作用?

能否请你帮忙? 谢谢!

在JavaScript中(据我所知)有两种方法可以创builddynamicvariables:

  1. eval函数
  2. 窗口对象

EVAL:

 var pageNumber = 1; eval("var text" + pageNumber + "=123;"); alert(text1); 

窗口对象:

 var pageNumber = 1; window["text" + pageNumber] = 123; alert(window["text" + pageNumber]); 

那么你将如何访问这个variables,因为你不知道它的名字? :)你可能最好在对象上设置一个参数,例如:

 var obj = {}; obj['text' + pageNumber] = 1; 

如果你真的想要这样做:

 eval('var text' + pageNumber + '=1'); 

我不认为你可以唱歌JavaScript.I认为你可以使用一个数组,而不是这个,

  var textArray=new Array(); textArray[pageNumber]="something"; 

假设这个variables在全局范围内,你可以这样做:

 var x = 1; var x1 = "test" console.log(window["x" + x]); //prints "test" 

然而,更好的问题可能是为什么你想要这样的行为。

你也可以把你的计数器包装在一个对象中:

 var PageNumber = (function() { var value = 0; return { getVal: function(){return value;}, incr: function(val){ value += val || 1; this['text'+value]=true /*or some value*/; return this; } }; })(); alert(PageNumber.incr().incr().text2); //=>true alert(PageNumber['text'+PageNumber.getVal()]) /==> true 

我最近需要这样的东西。

我有这样的variables列表:

 var a = $('<div class="someHtml"></div>'),b = $('<div class="someHtml"></div>'),c = $('<div class="someHtml"></div>'); 

我需要使用另一个variables来保存一个string,其名称如下:

 var c = 'a'; // holds the name of the wanted content, but can also be 'b' or 'c' $('someSelector').html(eval(c)) // this will just use the content of var c defined above 

只需使用eval来获取可变数据。

我已经做了