UglifyJS ist ein Tool zum Komprimieren und Verschönern von Javascript. In seiner Dokumentation habe ich mehrere Methoden zur Optimierung von if-Anweisungen gesehen. Obwohl ich es nicht für einige vorläufige Tests verwendet habe, können Sie hier sehen, dass es js verschönert. Manche Leute denken vielleicht, dass die if-Anweisung so einfach ist. Inwieweit kann sie optimiert werden? Aber werfen Sie einen Blick auf die folgenden Möglichkeiten und vielleicht ändern Sie Ihre Meinung.
1. Verwenden Sie gängige ternäre Operatoren
if (foo) bar(); else foo?bar():baz();
if (!foo) bar(); ; foo?baz():bar();
if (foo) return bar(); else return baz(); ==>
Beispiel von Script House:
100
2. Verwenden Sie die Operatoren and(&&) und or(||)
if (foo) bar(); ==> foo&&bar();if (!foo) bar();
3. Lassen Sie die geschweiften Klammern weg {}
if (foo) return bar(); else Something(); ==> {if(foo)return bar();something()}Sie und ich sind mit dieser Schreibmethode vertraut, ich empfehle jedoch, dies bei der Optimierung des Codes zu tun oder sich von UglifyJS bei der Lösung helfen zu lassen. Denn wenn eine geschweifte Klammer fehlt, ist die Lesbarkeit des Codes nicht gut.
Als ich dies schrieb, dachte ich an eine Methode zum Erhalten von HTML-Elementattributen in „Mastering JavaScript“ vom Vater von jQuery.
function getAttr(el, attrName){
var attr = {'for':'htmlFor', 'class':'className'}[attrName] || attrName;
};
Wenn Sie sorgfältig darüber nachdenken, können wir oft effektive Wege finden, um Probleme zu lösen, aber der Schlüssel liegt darin, ob wir gewissenhaft bei der Suche nach einem besseren Weg sind.
[Javascript-Kenntnisse] if(x==null) Abkürzung
if(x==null) oder if (typeof (x) == 'undefiniert') kann wie if(!x) abgekürzt werden, was nicht überprüft wird.Im Gegenteil, wenn (x) bedeutet, dass x nicht leer ist
Bestimmen Sie, ob das Objekt existiert
Javascript ||. && Abkürzung, wenn