2016-03-19 10 views
-4

strictモードでjavascript strictモードでパラメータ名を割り当てる方法は?</p> <pre><code>var func_A = function(arg_A,arg_B,arg_C){ console.log(arg_A,arg_B,arg_C) } func_A(arg_A = 1,arg_B = 2,arg_C = 0) </code></pre> <p>と私は警告メッセージを取得:JavaScriptのstrictモードで</p> <p>テストコードをパラメータ名を割り当てる方法

ReferenceError: assignment to undeclared variable arg_A 
ReferenceError: assignment to undeclared variable arg_B 
ReferenceError: assignment to undeclared variable arg_C 
+1

私は思いますあなたはこれが欲しい:http://stackoverflow.com/questions/11796093/named-parameters-in-javascriptこれはqを意味するだろううつ病は重複している。 –

+0

私はそれを得た!あなたのcommant、Siderite Zackwehdex – Zero0evolution

答えて

0

あなたは非宣言された変数を設定することはできません。

あなたは関数を呼び出す前に、全体の変数を宣言しない限り... strictモードでコードは失敗します。

var func_A = function(arg_A, arg_B, arg_C) { 
 
    console.log(arg_A, arg_B, arg_C) 
 
} 
 

 
// This what you're missing! 
 
var arg_A, arg_B, arg_C; 
 

 
func_A(arg_A = 1, arg_B = 2, arg_C = 0);

+0

のおかげですが、私はarg_A、arg_B、arg_Cがfunc_Aの単なるパラメータであり、グローバル変数ではないことを望みます。 – Zero0evolution

+0

@ Zero0evolutionここでの問題は、無名関数を作成することです。非厳密なJSで 'a = b'構文を使用して変数を設定すると、新しい変数が作成されます。必ずしもグローバル変数ではありません。変数全体は、関数本体内で独自のスコープで生きることができます。 –

+0

@ Zero0evolution今あなたがあなたの質問に自動回答したのを見ています。あなたの質問は、名前付きパラメータとは関係ありません。あなたはなぜこれらのエラーが出るのか尋ねました。私はあなたにそれを修正する方法を教えました:P –