我想知道是否可以在javascript或JQuery中获取变量的名称。
假设我在javascript中声明一个变量,如:
var customerNr = "456910";
如果函数接收变量,我该如何返回变量的名称?
例如:
function getNameOfVariable(someVariable){
//return name of someVariable;
}
如果我这样称呼这个函数:
getNameOfVariable(customerNr);
该函数必须返回一个值为“customerNr”的字符串。
如何在jquery或javascript中执行此操作?某种反思?
答案 0 :(得分:1)
这根本不可能!
传递的参数甚至不必具有名称。它可以是函数或原始文字的返回值(如"string"
或3
)。
答案 1 :(得分: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变量要多得多,但在一些更复杂的情况下可能是必要的。