Bester Javascript syntaktischer Zucker
Hier sind einige Perlen:
Literale:
var obj = {}; //Object literal, equivalent to var obj = new Object();
var arr = []; //Array literal, equivalent to var arr = new Array();
var regex = /something/; //Regular expression literal, equivalent to var regex = new RegExp('something');
Defaults:
arg = arg || 'default'; //if arg evaluates to false, use 'default', which is the same as:
arg = !!arg ? arg : 'default';
Natürlich wissen wir, dass anonyme Funktionen, aber in der Lage, Sie zu behandeln, wie Literale, und führen Sie Sie auf der Stelle (als Verschluss) groß:
(function() { ... })(); //Creates an anonymous function and executes it
Frage:Was andere große syntaktischen Zucker ist in javascript zur Verfügung stehen?
InformationsquelleAutor der Frage |
Du musst angemeldet sein, um einen Kommentar abzugeben.
Immer die aktuellen datetime-als Millisekunden:
Beispielsweise zur Zeit der Ausführung eines Codeabschnitts:
InformationsquelleAutor der Antwort Chris Noe
Objekt-Mitgliedschaft testen:
InformationsquelleAutor der Antwort Chris Noe
In Mozilla (und angeblich IE7) können Sie eine XML-Konstante:
Ersetzen können Variablen:
InformationsquelleAutor der Antwort Chris Noe
Verwendung von anonymen Funktionen und einen Verschluss zu erstellen, die eine private variable (information hiding) und die zugehörigen get/set-Methoden:
InformationsquelleAutor der Antwort Ash
Lage zu verlängern nativen JavaScript-Typen über prototypal inheritance.
InformationsquelleAutor der Antwort steve_c
Multi-line strings:
Da Sie keine Einrückung der folgenden Zeilen, ohne auch durch die Leerzeichen in der Zeichenfolge, die Menschen im Allgemeinen lieber zu verketten ist mit dem plus-operator. Aber dies ist ein schönes hier dokumentieren Fähigkeit.
InformationsquelleAutor der Antwort Chris Noe
Die Größe die Länge eines Array
length-Eigenschaft ist ein nicht nur Lesen.
Sie können es verwenden, um erhöhen oder verringern Sie die Größe eines Arrays.
InformationsquelleAutor der Antwort
Verwenden
===
zu vergleichen mit dem Wert und Typ:InformationsquelleAutor der Antwort Chris Noe
Wiederholung einer Zeichenfolge wie "-" eine bestimmte Anzahl von Zeiten, die durch die Nutzung der join-Methode auf ein leeres array:
Ergebnisse in "---" wenn "wiederholen" = = 3.
InformationsquelleAutor der Antwort
Wie die Standard-operator
||
ist die Wache Betreiber&&
.im Gegensatz zu
InformationsquelleAutor der Antwort
Rückruf für die Zeichenfolge ersetzen Sie ist einfach nur nützlich.
InformationsquelleAutor der Antwort
Getter und setter:
Uns gibt:
InformationsquelleAutor der Antwort Jonny Buchanan
Dies ist nicht eine javascript-exklusiv, sondern speichert wie drei Zeilen code:
InformationsquelleAutor der Antwort levik
Etwas mehr auf levik Beispiel:
InformationsquelleAutor der Antwort VirtuosiMedia
Den Array#forEach auf Javascript 1.6
InformationsquelleAutor der Antwort Pablo Cabrera
Folgenden obj || {default:true} syntax :
Aufruf der Funktion mit : Hallo(neededOne && neededTwo && needThree), wenn ein parameter nicht definiert oder false, dann wird es call Hallo(false), manchmal nützlich
InformationsquelleAutor der Antwort
Bei der Analyse der Situationen, die mit einem festen Satz von Komponenten-Teile:
Zuordnen können Sie die Ergebnisse direkt in Variablen mithilfe der "destructuring assignment" synatx:
Ist ein bisschen besser lesbar als:
Abwechselnd:
Beachten Sie, dass dies ein Javascript 1.7 Funktion. Also Mozilla 2.0+ und Chrome 6+ Browser, zu dieser Zeit.
InformationsquelleAutor der Antwort
Sofort Aufgerufen Pfeil-Funktion:
InformationsquelleAutor der Antwort
Ich vergaß:
InformationsquelleAutor der Antwort
Erstellen Sie eine anonyme Objekt-literal einfach: ({})
Beispiel: wissen müssen, wenn Sie Gegenstände haben, die valueOf-Methode:
var hasValueOf = !!({}).valueOf
Bonus syntaktischen Zucker: der Doppel-nicht '!!' für die Konvertierung so ziemlich alles in einen booleschen sehr prägnant auf den Punkt.
InformationsquelleAutor der Antwort
Ich Liebe es, eval() in ein json-string und wieder voll aufgefüllt, die Struktur der Daten.
Ich Hasse es zu schreiben, alles mindestens zweimal (einmal IE, einmal für Mozilla).
InformationsquelleAutor der Antwort dicroce
Assigining Häufig verwendete Schlüsselwörter (oder Methoden) zu den einfachen Variablen, wie z.B. ths
InformationsquelleAutor der Antwort
JavaScript Date-Klasse bietet eine semi-"Fluent Interface". Das macht für nicht in der Lage, zum extrahieren des Datums-Teil aus einem Date-Klasse direkt:
Es ist nicht eine voll Fluent Interface, denn das folgende wird nur geben uns einen numerischen Wert, das ist nicht wirklich ein Date-Objekt:
InformationsquelleAutor der Antwort
Standard-fallback:
Einem Beispiel aus der Praxis:
InformationsquelleAutor der Antwort
Hier habe ich gerade entdeckt: null prüfen Sie vor dem aufrufen der Funktion:
Dies ist eine kürzere äquivalent zu:
Der beste Teil ist, dass Sie können überprüfen, eine Eigenschaft Kette:
InformationsquelleAutor der Antwort
Ich Liebe, wie einfach es ist, zu arbeiten mit Listen:
Und hashes:
In den meisten anderen Sprachen, das wäre ziemlich schwer code. Standardwert sind auch schön. Zum Beispiel Fehlercode reporting:
InformationsquelleAutor der Antwort
int zu string casten
InformationsquelleAutor der Antwort
Einen shortcut zu löschen, werden alle untergeordneten Knoten des Elementes.
InformationsquelleAutor der Antwort
Konvertieren von string zu integer standardmäßig auf 0, wenn imposible,
Kann in einigen Fällen hilfreich sein, vor allem wenn die 0 ist, gilt als schlechtes Ergebnis
InformationsquelleAutor der Antwort
Vorlage Literale
dann die text variable wird wie unten!
InformationsquelleAutor der Antwort