2017-10-18 11 views
0

少し質問、多分それは基本的なものです....でもJavascript var = int || int?

ubの価値は何ですか?

getuploadedBytesがIntを返したとすると、 ubの値は何であるべきか?

メソッドと右演算子の間の最小値または最大値?要約する

ub = that._getUploadedBytes(jqXHR) || (ub + o.chunkSize); 
+1

「0」は偽のintです。 ['||'はORです(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators#Logical_OR_())。あなたがどこからmin/maxを得たのか分かりません。 – Bergi

+0

これはhttps://stackoverflow.com/questions/2100758/javascript-or-variable-assignment-explanationの複製です。https://stackoverflow.com/questions/6439579/what-does-var-foo-foo-変数を空にしてオブジェクトを空にする、その他の多くの質問 –

答えて

1

that._getUploadedBytes(jqXHR)非ゼロである場合、その値は、そうでなければ(ub + o.chunkSize)が返され、返されます。

||オペレータは真実ならば左の値を、そうでなければ右の値を好む。

that._getUploadedBytes(jqXHR)が整数を返すと仮定すると、偽の唯一の整数は0です。

+1

ありがとうございました –

+0

'||'は[短絡論理演算子](https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Logical_Operators#Short-circuit_evaluation)、短絡論理演算子は左から右に評価され、遭遇する最初の真理値を返します。 –

+0

@TinyGiant:それはなぜそれがより良い説明の背後にあるあなたの推論に興味がありますか?個人的には、私は正確でない最も技術的でない説明を好む。 – AnilRedshift

2

値がの場合、その関数が0を返さない限り、値はub + o.chunkSizeになります。

0は偽の値です。これは、条件が失敗し、他の計算が結果を生成することを意味します。

関連する問題