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 が空ではないことを意味します
オブジェクトが存在するかどうかを判断します