ホームページ > ウェブフロントエンド > jsチュートリアル > JavaScript チュートリアル: 省略されたステートメントを最適化する方法_JavaScript スキル

JavaScript チュートリアル: 省略されたステートメントを最適化する方法_JavaScript スキル

WBOY
リリース: 2016-05-16 16:48:06
オリジナル
1342 人が閲覧しました

UglifyJS は JavaScript を圧縮し、美しくするためのツールです。そのドキュメントには、if ステートメントを最適化するためのメソッドがいくつかありました。暫定的なテストには使用していませんが、js を美しくすることができることがわかります。 「if文ってそんなに簡単だけど、どこまで最適化できるの?」と思う人もいるかもしれません。しかし、次の方法を検討してみると、考えが変わるかもしれません。

1. 一般的な三項演算子

を使用します。

if (foo) bar(); else baz(); foo?bar():baz(); ; foo?baz():bar();
if (foo) return bar(); else return baz();

if ステートメントを最適化するための上記の三項演算子の使用法については、おそらく頻繁に使用していることでしょう。

Script House が提供する例:

コードをコピー コードは次のとおりです:
<script><br>var i =9<br>var ii=(i>8)?100:9;<br>alert(ii);<br></script>

出力結果:

100

2. and(&&) および or(||) 演算子を使用します

if (foo) bar(); ==> foo&&bar();

if (!foo) bar();

正直に言うと、私はこのようなコードを書いたことはありませんでした。「Niao 兄弟の Linux プライベートクッキング」を勉強していたときにこの書き方を見ましたが、それを js で実装するとは思いませんでした。

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 が空ではないことを意味します

オブジェクトが存在するかどうかを判断します

if(document.form1.softurl9){
//js エラーを防ぐために Softurl9 が存在するかどうかを判断します
}


コードをコピーします コードは次のとおりです。
if(document.getElementById("softurl9" )){
//js エラーを防ぐために Softurl9 が存在するかどうかを判断します
}


追加:

javascript || && 省略形 if

コードをコピー コードは次のとおりです:



関連ラベル:
js
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート