在jQuery中获取变量名称

时间:2012-09-02 18:19:25

标签: javascript jquery variables attributes

如何获取变量的名称?

假设我有一个空变量:

var myvariable;

如何获取变量名称:

alert(this_is_what_i_am_looking_for);

将显示:

myvariable

修改

也许我过于复杂了。我真正的问题是我有这两个变量:

var firstVariable;
var secondVariable;

我想创建一个字面上具有此名称的第三个变量:

var firstVariablesecondVariable;

EDIT2:

感谢答案,太多信息,我必须彻底查看它们。

这就是我所拥有的:

<div></div>
<div></div>
<div></div>

var i = 0;
var q = 0;

$('div').each(function() {
    var qi;
    i++;
});​

所以我想创建三个变量:var 00; var 01; var 02; 然后我将使用ajax加载更多div并执行:

q++;
i=0;

所以当我第二次应用每个函数时,我还有三个变量:var 10; var 11; var 12;

3 个答案:

答案 0 :(得分:3)

变量名称是标识符,您无法“询问”标识符的名称。您可以做的是使用标识符的内容创建一个新变量,如下所示:

 var var1 = "variable1";
 var var2 = "variable2";

 // this will create an property/variable "variable1variable2" 
 // on the global namespace.
 window[var1 + var2] = "xyz";

 var content = variable1variable2; // content = xyz;

答案 1 :(得分:2)

也许您可以使用哈希表将名称映射到值。最后,在哈希表中添加了值为barFooTest的名称barFoo。

var o = { bar: 'barTest' };
o.foo = 'fooTest';

var prevKey = '';
for(key in o)
{   
    prevKey = prevKey + '' + key ;
    alert(key + ': ' + o[key]);
}

o[prevKey] = "barFooTest";

答案 2 :(得分:0)

这是不可能的,你可以做的是使用json对象:

var myvars = {
   'firstVariable': 1,
   'secondVariable': 2,
   'firstVariablesecondVariable': function() { return this['firstVariable'] + this['secondVariable']; }
};


console.log(myvars['firstVariable'+'secondVariable']());
​

run code

进行修改

var elements = [];
var myformat = function(n) { return (String(n).length == 1 ? '0' : '') + n; }
$('div').each(function(i, el) {
    elements.push(myformat(i));
});

console.log(elements);
​
// response ["00", "01", "02"] 

run code

编辑II

但是如果你想为变量设置值,你可以试试这个:

var elements = {}; // <- object
var myformat = function(n) {
    return (String(n).length == 1 ? '0' : '') + n;
}
$('div').each(function(i, el) {
    elements[myformat(i)] = el;
});

console.log(elements);​

Object
00: HTMLDivElement
01: HTMLDivElement
02: HTMLDivElement

run code

相关问题