これが機能しない理由を見つけるのに問題があります:
value = ( (value == undefined) || (typeof(value) !=== "number") ) ? 1 : value;
私が理解していることから、これは数値であるかどうかに応じて、または(変数)のvalue
いずれかに設定する必要があります。1
value
value
値が数値でない場合は、に変更します。数値の1
場合は保持します。
私はここで何が間違っているのですか?
これが機能しない理由を見つけるのに問題があります:
value = ( (value == undefined) || (typeof(value) !=== "number") ) ? 1 : value;
私が理解していることから、これは数値であるかどうかに応じて、または(変数)のvalue
いずれかに設定する必要があります。1
value
value
値が数値でない場合は、に変更します。数値の1
場合は保持します。
私はここで何が間違っているのですか?
!===
これは、(実際には存在しない)を!==
(の論理的な逆)に変更した場合に問題なく機能します===
。
等号を多すぎます。正しい構文は!==
です。
使用するだけvalue = (typeof(value) !== "number") ? 1 : value;
前者(value == undefined)
が真である場合、後者は常に真であるため、条件は冗長です。
簡単に見て:
!===(3つの等号付き)はタイプミスです。正しい演算子は!==(2つの等号)です。
Javascriptの問題が発生した場合は、 http: //www.jslint.com/ですべての警告と問題を処理することを強くお勧めします。これは、目に見えない多くのものをキャッチするのに役立ちます。