条件ステートメントは、さまざまな条件に基づいてさまざまなアクションを実行するために使用されます。
条件文
通常、コードを記述するときは、常に、さまざまな決定に対してさまざまなアクションを実行する必要があります。コード内で条件ステートメントを使用すると、このタスクを実行できます。
JavaScript では、次の条件ステートメントを使用できます:
•if ステートメント - 指定された条件が true の場合にのみコードを実行するには、このステートメントを使用します。
•if...else ステートメント - 条件が true の場合にコードを実行し、条件が false の場合に他のコードを実行します
•if...else if....else ステートメント - このステートメントを使用して、実行する複数のコード ブロックの 1 つを選択します
•switch ステートメント - このステートメントを使用して、実行する複数のコード ブロックの 1 つを選択します
If ステートメント
このステートメントは、指定された条件が true の場合にのみコードを実行します。
文法
注: if は小文字を使用してください。大文字 (IF) を使用すると、JavaScript エラーが発生します。
例
時間が 20:00 未満の場合、「こんにちは」の挨拶を生成します:
x の結果は次のようになります:
こんにちは
自分で試してみましょう
この構文には ..else.. がないことに注意してください。指定された条件が true の場合にのみコードを実行するようにブラウザーに指示しました。
If...else ステートメント
条件が true の場合はコードを実行し、条件が false の場合は他のコードを実行するには if....else ステートメントを使用してください。
文法
例
時間が20:00未満の場合は「こんにちは」、それ以外の場合は「こんばんは」の挨拶が返されます。
x の結果は次のようになります:
こんにちは
実際に試してみましょう
If...else if...else ステートメント
if....else if...else ステートメントを使用して、実行するコードの複数のブロックの 1 つを選択します。
文法
x の結果は次のようになります:
おはようございます
JavaScriptではifの条件としてどのような値が使用できるのか
1. ブール変数 true/false
2. 数値は 0 ではなく、NaN/ (0 または NaN) ではありません
以下の例を参照してください。負の数が if ステートメントが false であることを意味するとは考えないでください。
3. オブジェクトは null/(null または未定義) ではありません
4. 文字列は空の文字列 ("")/空の文字列 ("") ではありません
要約すると、文字列の場合、if (str!=null && str!=unknown && str !='') を大量に記述する必要はなく、1 つの文を使用するだけです
それだけです。
数値が空でないことを判断するには、isNaN() 関数の使用を検討する必要があります。NaN は、それ自体を含め、どのタイプのデータとも等しくなく、isNaN() でのみ判断できます。数値型の場合、if(a) ステートメントの a が 0 の場合、if(a) は false となり、0 以外の場合、if(a) は true になります
JavaScript チュートリアル: if ステートメントを最適化するためのメソッド if 略語
UglifyJS は JavaScript を圧縮し、美しくするためのツールです。そのドキュメントには、if ステートメントを最適化するためのメソッドがいくつかありました。暫定的なテストには使用していませんが、js を美しくすることができることがわかります。 「if文ってそんなに簡単だけど、どこまで最適化できるの?」と思う人もいるかもしれません。しかし、次の方法を検討してみると、考えが変わるかもしれません。
1. 一般的な三項演算子
を使用します。if (foo) bar(); else baz(); foo?bar():baz(); ; foo?baz():bar();
if (foo) return bar(); else return baz();
Script House が提供する例:
100
2. and(&&) および or(||) 演算子を使用します
if (foo) bar(); ==> foo&&bar();if (!foo) bar();
3. 中かっこ {} を省略します。
if (foo) return bar(); else something(); {if(foo)return bar();something();あなたも私もこの記述方法には精通していますが、コードを最適化するときにこれを行うか、UglifyJS を使用して問題を解決することをお勧めします。結局のところ、中括弧が 1 つ欠けていると、コードの可読性は高くありません。
これを書いていて、jQueryの父の「使いこなすJavaScript」にあるHTML要素の属性を取得する方法を思いつきました。
function getAttr(el, attrName){
var attr = {'for':'htmlFor', 'class':'className'}[attrName] || attrName;};
このように書かないと、処理するために 2 つの if ステートメントを使用する必要がある場合があります。上記のコードは、簡潔で効果的であるだけでなく、非常に読みやすいものでもあります。
よく考えてみると、問題を解決するための効果的な方法が見つかることがよくありますが、鍵となるのは、より良い方法を熱心に見つけられるかどうかです。
[JavaScript スキル] if(x==null) の略語if(x==null) または if (typeof (x) == 'unknown') は if(!x) と省略できますが、これは検証されていません。
逆に、if(x) は x が空ではないことを意味します
オブジェクトが存在するかどうかを判断します