Uglifyjs ist ein Werkzeug zum Komprimieren und Verschönern von JavaScript. In seiner Dokumentation habe ich verschiedene Möglichkeiten gesehen, wenn Aussagen optimiert werden. Obwohl ich es nicht verwendet habe, um einige Testtests durchzuführen, können wir von hier aus sehen, dass es JS verschönert. Einige Leute denken vielleicht, wenn Aussagen so einfach sind, wie viel kann sie optimiert werden? Schauen Sie sich jedoch die folgenden Möglichkeiten an und Sie können Ihre Meinung ändern.
1. Verwenden Sie gemeinsame ternäre Operatoren
if (foo) bar (); sonst baz (); ==> foo? bar (): baz ();
if (! foo) bar (); sonst baz (); ==> foo? baz (): bar ();
if (foo) return bar (); sonst return baz (); ==> return foo? bar (): baz ();
Sie sind sicher mit der oben genannten Verwendung von ternären Operatoren vertraut, um die Angaben zu optimieren, und Sie verwenden sie möglicherweise häufig.
Beispiele von wulin.com:
Die Codekopie lautet wie folgt:
<Script>
var i = 9
var ii = (i> 8)? 100: 9;
Alarm (ii);
</script>
Ausgangsergebnis:
100
2. Verwenden und (&&) und oder (||) Operatoren
if (foo) bar (); ==> foo && bar ();
if (! foo) bar (); ==> foo || bar ();
Um ehrlich zu sein, habe ich noch nie einen solchen Code geschrieben. Ich habe diese Schreibmethode gesehen, als ich "Bird Bird's Linux Private Gemüse" studierte, aber ich hatte nicht erwartet, es in JS umzusetzen.
3. Auslasse lockige Klammern {}
if (foo) return bar (); sonst etwas (); ==> {if (foo) return bar (); etwas()}
Ich bin mit dieser Schreibmethode vertraut, aber ich schlage vor, dies bei der Optimierung des Codes zu tun oder ihn zu überlassen, um ihn zu lösen. Wenn Ihnen eine Klammer fehlt, ist der Code nicht lesbar.
Nachdem ich dies geschrieben habe, denke ich an eine Methode des Vaters von JQuery in "Mastering JavaScript", um die Attribute von HTML -Elementen zu erhalten.
Funktion getattr (el, attrName) {
var attr = {'für': 'htmlfor', 'class': 'className'} [attrname] || Attrname;
};
Wenn wir nicht auf diese Weise schreiben, müssen wir möglicherweise zwei wenn Anweisungen zur Verarbeitung verwenden, und der obige Code ist nicht nur präzise und effektiv, sondern auch hoch lesbar.
Wenn Sie sorgfältig darüber nachdenken, können wir in vielen Fällen effektive Möglichkeiten finden, um das Problem zu lösen. Der Schlüssel ist jedoch, ob wir darauf achten, einen besseren Weg zu finden.
【JavaScript -Fähigkeiten】 Abkürzung if (x == null)
if (x == null) oder if (typeof (x) == 'undefined') kann wie bei (! x) abgekürzt werden und wird nicht verifiziert.
Im Gegenteil, wenn (x) bedeutet, dass x nicht leer ist
Bestimmen Sie, ob das Objekt existiert
Die Codekopie lautet wie folgt:
if (document.form1.softurl9) {
// beurteilen, ob Softurl9 vorhanden ist, um JS -Fehler zu verhindern
}
Die Codekopie lautet wie folgt:
if (document.getElementById ("Softurl9")) {
// beurteilen, ob Softurl9 vorhanden ist, um JS -Fehler zu verhindern
}
Wieder auffüllen:
JavaScript || && Abkürzung wenn
Die Codekopie lautet wie folgt:
<script type = "text/javaScript">
Wenn Sie schreiben möchten
if (! Falsch)
{
alarm ('false');
}
Überlegen Sie sich das Schreiben:
Falsch || alarm ('false');
Falsch || alarm ('false'); Richtig || alarm ('wahr'); // false ausgeben;
Bei Verwendung von "||" ist die erste Bedingung wahr, und die zweite Bedingung wird direkt zurückgegeben, ohne die zweite Bedingung zu erkennen. Die erste Bedingung ist falsch und die zweite Erkennung von Bedingung wird durchgeführt.
false && alarm ('false'); true && alert ('true'); // Ausgabe true
Bei Verwendung "&&" ist die erste Bedingung wahr und die zweite Bedingung wird erkannt. Die erste Bedingung ist falsch und gibt direkt falsch zum Beenden zurück.
Kurz gesagt, die einfache und praktische Fähigkeit des Ersetzens, wenn,? : Die Praktikabilität des Ersetzens, wenn sonst. Schreiben Sie einen kurzen und prägnanten Code
Verwendung:
$ ("#RegForm Input [Typ! = Hidden]"). jeweils (jeweils (
Funktion (Index) {
$ (this) .Parent (). Has ("div.valid-unter"). Länge || $ ('<div> </div>'). appendTo ($ (this) .Parent ());
}
);
</script>