1

小さな質問があります:

javascriptに関数があります。

var func = function(variable)
{
    result = variable;
}

電話したら

func(rabbit);

結果は「ウサギ」である必要があります。

2つの引用符の間に変数を配置する方法がわかりません。

4

5 に答える 5

1

rabbitが文字列であると仮定すると、次のようになります。

func("rabbit");

が実際に変数である場合rabbit、変数 (変数の実装の表現を意味する) は実際には関数に渡されず、その値が渡されるため、これを行う方法はありません。

于 2012-11-20T23:10:59.573 に答える
1

実際、変数名を取得する古い方法があります。

var func = function(variable)
{
    console.log(variable); // outputs "white"
    console.log(arguments.callee.caller.toString().match(/func\((.*?)\)/)[1]); // outputs "rabbit"
}

rabbit = 'white';

func(rabbit);

http://jsfiddle.net/Q55Rb/を実行しているのを見てください

于 2012-11-20T23:45:24.690 に答える
0

あなたの質問からは、「ウサギ」をプロパティ名にしたいのか、それとも値にしたいのかわかりませんでした。したがって、ここに両方があります:

var func = function(variable) {
    window[variable] = 'abc';    // Setting the variable as what is passed in
    window.result = variable;    // Normal
}

func('rabbit');    // Will set both window.rabbit to 'abc', and window.result to 'rabbit'

ただし、グローバル変数を設定することはお勧めしません。より詳しい情報

于 2012-11-20T23:11:13.817 に答える
0

わかりました、それは私の問題だと思いました。今ではそうではないと確信していますが、それが何であるかはわかりません。

私はこれを私の機能に持っています:

defaults = {title :{'pan':-1,'left':0,'volume':0.30,'top':111}}; 

title は関数の変数です。しかし、結果として、title という名前の変数に格納されている実際のタイトルではなく、デフォルトでタイトルを取得します。あなたは私を理解していますか?

于 2012-11-21T08:22:39.863 に答える