2

javascriptまたはJQueryで変数の名前を取得できるかどうか疑問に思っていました。

次のようにJavaScriptで変数を宣言するとします。

var customerNr = "456910";

関数が変数を受け取る場合、どうすれば変数の名前を返すことができますか?

例えば:

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

この関数を次のように呼び出すと:

getNameOfVariable(customerNr);

この関数は、値が「customerNr」の文字列を返す必要があります。

jqueryまたはjavascriptでこれを行うにはどうすればよいですか? なんか反省?

4

2 に答える 2

0

いいえ、これは不可能です。参照ではなく、プリミティブ データ型の値のみが転送されるため、変数の「名前」が何であるかをどのように知ることができますか? 例えば:

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

それは戻ってきますcustomerNrAfterProcessingcustomerNr

ただし、オブジェクトでこの動作を模倣できます。

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 に答える