ホームページ >ウェブフロントエンド >jsチュートリアル >より速いJavaScript条件式の書き方
var x = 10; var y = true; if (x*x > 1000 || y) alert("true!");ご想像のとおり、Yが真であるため、「True」は出力です。最初の条件が失敗しても。 JavaScript通訳者は、各条件を順番に分析します。 xを100に変更した場合、x*xは1000を超えてTrueに評価されます。しかし、論理または(||)を使用しているため、通訳者はyを分析する必要はありません。式が真でなければならないため、アラートが表示されます。 したがって、式を最適化して、最小処理を必要とするものが最初に分析されることを確認できます。
if (y || x*x > 1000) alert("true!");yが真である場合、通訳者は2番目の条件を評価する必要はありません。特に関数を呼び出したり、集中的な計算を実行したり、DOMを分析したりしている場合、かなりの時間を節約できます。 同じ最適化は、論理と(&&)に適用されます。その場合、falseを評価する最初の式は、条件全体を偽りにします - それ以上の処理は必要ありません。
if (summary = document.getElementById("post-summary")) { alert(summary.innerHTML); }要約 変数は、「ポストサマリー」のIDを使用してHTML要素に設定されます。要素が存在する場合、条件はtrueに評価され、アラートが表示されます。要素が見つからない場合、条件はfalseと評価され、条件付きコードは実行されません。 コメントによると、JavaScriptを読みやデバッグするのが難しくなっているため、このプラクティスを気に入った開発者はほとんどいませんでした。 ただし、別の問題があります。2つ以上の条件で、割り当ては実行されない場合があります。例えば:
if (x || y = functionY()) { alert(y); }xがtrueに評価された場合、通訳者はyに値を割り当てることはなく、アラートは常にエラーをスローします。 Yが常に評価されるように、条件を逆にすることで修正できます。
if (y = functionY() || x) …それでも、これらの条件の順序が不可欠であることは明らかではないため、依然として混乱を引き起こす可能性があります。この記事の上位半分を読んだ開発者は、Xを最初に評価してコードを最適化しようとすることさえあります! 要約すると、条件内で割り当てを使用したい場合は、先に進みますが、必要な唯一の条件であることを絶対に確認してください!
javaScript条件式は、三元演算子としても知られており、3つのオペランドを服用するオペレーターの一種です。これは、IF-ELSEステートメントを書く略歴です。次のように構成されています:条件? value_if_true:value_if_false。条件は最初に評価されます。それが本当なら、式はvalue_if_trueを返します。 falseの場合、value_if_falseを返します
//条件が真である場合に実行されるコード //条件が偽の場合はJavaScriptの論理not(!)演算子は、状態のブール結果を逆転させるために使用されます。たとえば、条件が真である場合、!条件は偽りを返し、逆もまた同様です。ただし、ネストされた三元オペレーターはコードを読み取りと理解しにくくすることができるため、控えめに使用する必要があることに注意することが重要です。条件がある場合、複数の他のものを記述するためのより効率的な方法です。構文は次のとおりです。
switch(expression){
case x:case y:
// code block}>
javascriptでは、nullは値またはオブジェクトなしを意味する割り当て値です。オブジェクト値の意図的な欠如です。一方、未定義とは、変数が宣言されているが、まだ値が割り当てられていないことを意味します。
// myvarは定義されています
}
以上がより速いJavaScript条件式の書き方の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。