2

我想知道是否可以在 javascript 或 JQuery 中获取变量的名称。

假设我在 javascript 中声明了一个变量,例如:

var customerNr = "456910";

如果函数接收到变量,我如何返回变量的名称?

例如:

function getNameOfVariable(someVariable){
     //return name of someVariable;
}

如果我这样调用这个函数:

getNameOfVariable(customerNr);

该函数必须返回一个值为“customerNr”的字符串。

如何在 jquery 或 javascript 中执行此操作?某种反思?

4

2 回答 2

1

那根本不可能!

传递的参数甚至不必有名称。它可以是函数的返回值或原始文字(如"string"or 3)。

于 2013-09-07T14:13:06.117 回答
0

不,这是不可能的。只为原始数据类型传输值,而不是引用,那么您怎么知道变量的“名称”是什么?例如:

var customerNr="456910";
var customerNrAfterProcessing=customerNr;
getNameOfVariable(customerNrAfterProcessing);

它会返回customerNrAfterProcessing还是customerNr

但是,您可以用对象模仿这种行为。

var variableName = someMethodThatDeterminesVariableNameOrJustAConstantIfYouPrefer();
var myVariables={};
var myVariables[variableName]={};
myVariables[variableName].value="456910";
myVariables[variableName].variableName=variableName;

function getNameOfVariable(someVariable){
    return someVariable.variableName;
}
getNameOfVariable(myVariables[variableName]);

显然,这比直接使用 variableName 变量要多得多,但在一些更复杂的情况下可能是必要的。

请参阅在 JS 参考中使用对象

于 2013-09-07T14:18:18.530 回答