2017-03-04 16 views
0

ifステートメントは、関数内で、値ではなく関数内で使用されるパラメータのNAMEに基づく条件で配置しようとしています。JavaScriptで値ではなくパラメータ名を確認してください。

これを達成するためにどのような条件を使用できますか?出来ますか?そうでない場合は、そこに代替案がありますか?例えば

var lorem="The name is Lorem, but the value isn't."; 
var ipsum="The name is Ipsum, but the value isn't."; 
//the values shouldn't matter 

logIt(Lorem); 

function LogIt(theName){ 
    if(**the name of the variable theName = "lorem"**){ 
    console.log("The variable 'lorem' was used."); 
    }else if(**the name of the variable theName = "ipsome"**){ 
    console.log("The variable 'ipsum' was used."); 
    }else{ 
    console.log("huh?"); 
    } 
} 
+0

また、あなたが代替しているだろう:あなたが唯一の変数名の固定セットを持っていて、ES6を使用している場合は、あなたが技術的にはオブジェクト非構造に関する問題を中心に「ハック」ことができ、言っ

渡された変数の名前に依存することは決してありません(誰が1つあったとしますか?)。それは非常に非合理的なコードです。 –

+0

あなたはどのような問題を解決しようとしていますか? –

+0

私は単純に反復を追跡することでそれを解決しました。ありがとう! – kennsorr

答えて

0

私は、引数ががパラメータを機能するようにコピーされるので、それは、一般的なケースでは、変数の名前を取得するには、実際には不可能だと考えています。

var lorem="The name is Lorem, but the value isn't."; 
var ipsum="The name is Ipsum, but the value isn't."; 

Logit({lorem}) 

function Logit({lorem, ipsum}) { 
    if(lorem) console.log("Function called with lorem"); 
    else if(ipsum) console.log("Function called with ipsum"); 
    else console.log("Function called with something else"); 
} 
+0

さて、あなたはすでにそれが可能であることを言及してこの答えを見てみたいかもしれませんhttp://stackoverflow.com/questions/5117127/use-dynamic-variable-names-in-javascript。ここで使用される概念は動的変数です。他の方法もあるはずです。 – rresol

関連する問題