2

重複の可能性:
「options = options || とは」{}」は Javascript で意味しますか?

|| の意味は何ですか? 2番目の引数で?

   var obj = this;
   var settings = $.extend({
       param: 'defaultValue'
   }, options || {});

また、ここまたはグーグルでその文字(「|」)を検索する方法を誰かが知っているといいですね! ありがとうございました

4

5 に答える 5

9

それは論理ORになります。このステートメントは、最初に見つけた真の y 値を返します。

この場合、optionsnull (または true-y ではないその他の値) の場合、false と評価されます。||は空のオブジェクトを返します。

于 2013-01-22T18:38:31.977 に答える
1

これは、ある種のフォールバック値またはデフォルト値です。したがって、オブジェクトが null または false の場合、2 番目の値が使用されます。

于 2013-01-22T18:38:13.500 に答える
1

そのシナリオでさらに重要なことは、オプションが定義されていない場合、空のオブジェクト{}が引数として渡されることです。論理 OR 演算子の一種の副作用の使用例です。より具体的には、短絡を使用します。例えば以下の場合

a || b

true の場合aは b は実行されませんが、afalse の場合bは実行されます。したがって、あなたが示した例では、 ifoptionsが定義されていないため、false{}が実行され、パラメーターとして渡されます。

于 2013-01-22T18:41:05.277 に答える
0

||= "または"。例:

alert(false || false || false || "I'm valid!"); // alerts "I'm valid"

あなたの質問では、上記の例は、関数がそのオプションにオブジェクトを必要とすることを示しています。この場合、ローカル変数「options」が使用できない場合は、空のオブジェクトを渡すだけです。後で、呼び出されている関数で、おそらくその新しいオブジェクトにデフォルト値を設定しています。

于 2013-01-22T18:41:57.117 に答える
0

|| = または

比較演算子のように。

于 2013-01-22T18:38:09.417 に答える