Heute habe ich eine Frage zu Github gefunden, wie JavaScript für unsere Programmentwicklung korrekt verwendet werden kann. Ich hatte schamlos ein Original ... es ist ein Betrug. Teilen wir es mit Ihnen.
Ein meist vernünftiger Ansatz für JavaScript.
Typen // Typ
Objekte // Objekte
Arrays // Arrays
Saiten // Strings
Funktionen // Funktionen
Eigenschaften // Eigenschaften
Variablen // Variablen
Heben // variable Verbesserung
Bedingte Ausdrücke & Gleichheit // bedingte Ausdrücke und Gleichungen.
Blöcke // Blockcode
Kommentare // Kommentare
Whitespace // Raum
Kommas // Kommas
Semikolons // Semikolons
Geben Sie Casting & Zwang // Konvertierung ein
Benennung von Konventionen // Namensregeln
Accessors // Zugriff
Konstruktoren // Konstruktoren
Ereignisse // Zeit
Module // Modelle
JQuery //
ECMascript 5 Kompatibilität // ECMA 5 Kompatibilität
Testen // Tests
Leistung // Leistung
Ressourcen // Ressourcen
In freier Wildbahn
Übersetzung
Der Leitfaden für JavaScript Style Guide
Mitwirkende
Lizenz
Typen (Typ)
Primitiver Typ: Wenn er auf einen primitiven Typ zugreift, greift er tatsächlich direkt auf den Inhalt des primitiven Typs zu.
Saite
Nummer
boolean
NULL
undefiniert
var foo = 1,,
bar = foo;
Bar = 9;
console.log (foo, bar); // => 1,9
Komplexer Typ: Wenn Sie auf einen komplexen Datentyp zugreifen, greifen Sie tatsächlich über eine Referenz auf den Wert der Variablen zu.
Objekt
Array
Funktion
var foo = [1,2]; bar = foo; bar [0] = 9; console.log (foo [0], bar [0]); // => 9,9
Objekt (Objekt)
Verwenden Sie Objektliterale, um Objekte zu erstellen (wörtlich)
// badvar item = new Object (); // Goodvar item = {};Verwenden Sie keine reservierten Schlüsselwörter als Eigenschaftsname des Objekts. Dies wird unter IE8 nicht funktionieren.
// badvar superman = {default: {clark: 'kent'}, privat: true}; // goodvar superman = {defaults: {clark: 'kent'}, versteckt: true};Array (Array)
Verwenden Sie auch die wörtliche Methode, um ein Array zu erstellen
// badvar items = new Array (); // Goodvar items = [];
Wenn Sie die Länge des Arrays nicht kennen, verwenden Sie die integrierte Methode von Array für den Einfügungsbetrieb
var STILDACK = []; // BadSomestack [soldStack.length] = 'vein'; // goodsomestack.push ('vein');Wenn Sie ein Array kopieren möchten, verwenden Sie Array.slice
var len = items.length, // bezieht sich auf den obigen Inhalt ... itemCopy = [], i; // badfor (i = 0; i <len; ++ i) {itemCopy [i] = items [i];} // GooditemCopy = items.slice (); // Ich muss hier aufpassen. Ich weiß das wirklich nicht ...Saitenschnur
Verwenden Sie einzelne Zitate, um Zeichenfolgen einzuschließen ... // Ich habe hier keine geeignete Erklärung für die Leistung gefunden. Ich persönlich benutze sie gerne so (es ist besser, weniger zu tragen als Trage ... Sie wissen ...)
// badvar name = "bob parr"; // goodvar name = 'bob parr'; // badvar fullname = "bob" + this.lastname; // Goodvar fullname = 'bob' + this.lastName;
Wenn Saiten länger als 80 Zeichen sind, müssen Sie eine String -Verkettung verwenden, um in mehreren Zeilen zu schreiben. Beachten Sie, dass die Verkettung von Strings bei Überbeanspruchung die Leistung beeinflusst.
// badvar errormessage = 'Dies ist ein super langer Fehler, der wegen Batman geworfen wurde. Wenn Sie anhalten, darüber nachzudenken, wie Batman etwas damit zu tun hat, würden Sie nirgendwo schnell werden. '; // badvar errormessage =' Dies ist ein super langer Fehler, der wegen/von Batman geworfen wurde. Wenn Sie anhalten, darüber nachzudenken, wie Batman etwas zu tun hatte /damit, würden Sie nirgendwo hingewiesen. Wenn Sie anhalten, um darüber nachzudenken, wie Batman etwas zu tun hatte, um ' +' zu tun, würden Sie nirgendwo schnell werden. ';
Wenn Sie ein Array auf geplante Weise erstellen, wie die folgenden. Die Verwendung von Array.Join funktioniert besser.
var items, motics, length, i; messages = [{stat: 'erfolgs', meldung: 'Dieser hat funktioniert'}, {stat: 'Erfolg', Nachricht: 'Dieser hat funktioniert'}, {stat: 'Erfolg', Nachricht: 'Dieser hat'}; '<li>' + message [i] .Message + '</li>';} return items + '</ul>';} // Goodfunction -Posteingang (Nachrichten) {items = []; für (i = 0; i <länge; i ++) {items [i] = Nachrichten [i] .Message; '</li> </ul>';}Funktionen
// Anonymous Function Expression..var anonymous = function () {return true;}; // Namensfunktion Expression.var named = function named () {return true;}; // Sofortreferenzfunktion (function () {console.log ('Willkommen im Internet. Bitte folgen Sie mir.');}) ();Definieren Sie niemals Funktionen im nicht funktionsfähigen Blockcode (wenn, während). Entsprechend wird die Funktion dem externen Variablennamen in der Mitte des Codeblocks zugeordnet.
// badif (currentUser) {function test () {console.log ('nope.');}} // goodvar test; if (currentUser) {test = function () {console.log ('yup'); }; // Sei vorsichtig mit dem Semi-Colon.}Eigenschaften (Eigenschaften)
Verwenden Sie die DOT -Syntax, um auf Eigenschaften zuzugreifen.
var Luke = {jedi: true, Alter: 28}; // badvar isjedi = luke ['jedi']; // Goodvar isjedi = Lucky.jedi;Verwenden Sie beim Zugriff auf Objekteigenschaften mithilfe von Variablen [] Quadratklammern zum Zugriff
var Luke = {jedi: true, Alter: 28}; Funktion getProp (prop) {return Luke [prop];} var isjedi = getProp ('jedi');