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が存在するかどうかを判断します
}
補充:
JavaScript || &&略語IF
コードコピーは次のとおりです。
<script type = "text/javascript">
あなたが書きたいなら
if(!false)
{
アラート( 'false');
}
書くことを検討してください:
false ||アラート( 'false');
false ||アラート( 'false'); true ||アラート( 'true'); // false出力;
「||」を使用する場合、最初の条件は真であり、2番目の条件は2番目の条件を検出せずに直接返されます。最初の条件は偽で、2番目の条件検出が実行されます。
false && alert( 'false'); true && alert( 'true'); //出力true
「&&」を使用する場合、最初の条件は真であり、2番目の条件が検出されます。最初の条件はfalseであり、直接falseを出てから出てください。
要するに、ifを交換するという単純で実用性は? :他の場合に交換する実用性。短く簡潔なコードを書きます
使用法:
$( "#regform input [type!= hidden]")。
function(index){
$(this).parent()。has( "div.valid-under")。length || $( '<div> </div>')。appendto($(this).parent());
}
);
</script>