条件付きステートメントは、さまざまな条件に基づいて異なるアクションを実行するために使用されます。
条件付きステートメント
通常、コードを書くときは、常に異なる決定に対して異なるアクションを実行する必要があります。このタスクを達成するために、コード内の条件ステートメントを使用できます。
JavaScriptでは、次の条件ステートメントを使用できます。
•IFステートメント - 指定された条件が真である場合にのみ、このステートメントを使用してコードを実行します
•if ... elseステートメント - 条件が真のときにコードを実行し、条件がfalseの場合に他のコードを実行する
•if ... else if ... elseステートメント - このステートメントを使用して、複数のコードブロックのいずれかを選択して実行する
•スイッチステートメント - このステートメントを使用して、複数のコードブロックのいずれかを選択して実行します
IFステートメント
ステートメントは、指定された条件がtrueの場合にのみコードを実行します。
文法
コードコピーは次のとおりです。
if(条件)
{
条件が真の場合に実行されるコードのみ
}
注:小文字の場合は使用してください。大文字(if)を使用すると、JavaScriptエラーが生成されます!
例
時間が20:00未満の場合、「良い日」の挨拶が生成されます。
コードコピーは次のとおりです。
if(時間<20)
{
x = "グッドデイ";
}
xの結果は次のとおりです。
良い一日
自分で試してみてください
この構文には、no.elseがあります。指定された条件が真である場合にのみ、ブラウザにコードを実行するように指示しました。
if ... elseステートメント
if ... elseステートメントを使用して、条件が真の場合はコードを実行し、条件が偽の場合は他のコードを実行してください。
文法
コードコピーは次のとおりです。
if(条件)
{
条件が真のときに実行されたコード
}
それ以外
{
条件が真でないときに実行されたコード
}
例
時間が20:00未満の場合、挨拶「グッドデイ」が得られます。そうしないと、「こんばんは」挨拶が得られます。
コードコピーは次のとおりです。
if(時間<20)
{
x = "グッドデイ";
}
それ以外
{
x = "グッドイブニング";
}
xの結果は次のとおりです。
良い一日
自分で試してみてください
if ... else if ... elseステートメント
if ... else if ... elseステートメントを使用して、複数のコードブロックのいずれかを選択して実行します。
文法
コードコピーは次のとおりです。
if(条件1)
{
条件1がtrueの場合に実行されたコード
}
else if(条件2)
{
条件2がtrueの場合に実行されたコード
}
それ以外
{
条件1も条件2も真でない場合に実行されたコード
}
例
時間が10:00未満の場合、挨拶「おはよう」が送信されます。そうでなければ、時間が20:00未満の場合、挨拶「グッドデイ」が送信されます。
コードコピーは次のとおりです。
if(時間<10)
{
x = "おはようございます";
}
else if(時間<20)
{
x = "グッドデイ";
}
それ以外
{
x = "グッドイブニング";
}
xの結果は次のとおりです。
おはよう
JavaScriptでは、どの値が条件として使用できますか
1。ブール変数True/False
2。数字は0ではなく、nan/(0またはnan)ではありません
以下の例を参照してください。負の数は間違っているとは思わないでください。
コードコピーは次のとおりです。
var i = -1;
if(i){
アラート( 'here');
}それ以外{
アラート( 'テストは大丈夫です!');
}
3。オブジェクトはnull/(nullまたはundefined)ではありません
4。文字列nonempty文字列( "")/空の文字列( "")
要約すると、文字列については、if(str!= null && str!= undefined && str!= '')をたくさん書く必要はありません。
コードコピーは次のとおりです。
if(!str){
//何かをします
}
それでおしまい。
数字の非ヌルの判断については、iSNAN()関数の使用を検討する必要があります。 NANは、それ自体を含むどのタイプのデータと等しくなく、Isnan()によってのみ判断できます。数値タイプの場合、(a)ステートメントが0である場合、(a)がfalse、(a)が0ではない場合、(a)がtrueである場合
コードコピーは次のとおりです。
var b;
var a = 0;
a = a + b;
if(a){
アラート( '1');
}それ以外{
アラート( '2');
}
if(isnan(a)){
alert( 'a is nan');
}
JavaScriptチュートリアル:略語の場合は、IFステートメント最適化方法について
uglifyjsは、JavaScriptを圧縮して美化するためのツールです。そのドキュメントでは、ステートメントの場合に最適化するいくつかの方法がありました。私はそれをいくつかの試行試験に使用していませんが、ここからJSを美化していることがわかります。一部の人々は、声明がそれほど単純である場合、どれだけ最適化できると思うかもしれません。しかし、次の方法を見てください。あなたはあなたの心を変えるかもしれません。
1.一般的な三元演算子を使用します
if(foo)bar(); else baz(); ==> foo?bar():baz();
if(!foo)bar(); else baz(); ==> foo?baz():bar();
if(foo)return bar();それ以外の場合は、baz()を返します。 ==> foo?bar()を返します:baz();
あなたは、上記の成績演算子の使用に精通していることを確実にして、ステートメントの場合は最適化し、頻繁に使用するかもしれません。
wulin.comからの例:
コードコピーは次のとおりです。
<スクリプト>
var i = 9
var ii =(i> 8)?100:9;
アラート(ii);
</script>
出力結果:
100
2。使用および(&&)およびまたは(||)演算子
if(foo)bar(); ==> foo && bar();
if(!foo)bar(); ==> foo || bar();
正直に言うと、私はこのようなコードを書いたことがありません。 「Bird Bird's Linuxプライベート野菜」を勉強していたときに、この執筆方法を見てきましたが、JSで実装するとは思っていませんでした。
3。巻き毛のブレースを省略します{}
if(foo)return bar();他の何か(); ==> {if(foo)return bar();何か()}
私はこの執筆方法に精通していますが、コードを最適化するときにこれを行うか、それをUglifyjsに任せて解決するのに役立つことをお勧めします。結局のところ、ブレースが1つない場合、コードは読み取りできません。
これを書いた後、私はJQueryの父による「JavaScriptの習得」で、HTML要素の属性を取得する方法を考えています。
function getattr(el、attrname){
var attr = {'for': 'htmlfor'、 'class': 'classname'} [attrname] ||属性;
};
このように記述しない場合、IFステートメントを処理するために2つのステートメントを使用する必要がある場合があります。上記のコードは簡潔で効果的であるだけでなく、読みやすくなります。
慎重に考えると、多くの場合、問題を解決するための効果的な方法を見つけることができますが、重要なのは、より良い方法を見つけるように注意するかどうかです。
【javascriptスキル】略語if(x == null)
if(x == null)または(typeof(x)== 'undefined')が(!x)のように省略され、検証されていない場合。
それどころか、(x)がxが空ではない場合
オブジェクトが存在するかどうかを判断します
コードコピーは次のとおりです。
if(document.form1.softurl9){
// JSエラーを防ぐためにsofturl9が存在するかどうかを判断します
}
コードコピーは次のとおりです。
if(document.getElementById( "softurl9")){
// JSエラーを防ぐためにsofturl9が存在するかどうかを判断します
}