Heute habe ich auf Github einen Artikel darüber gefunden, wie man Javascript richtig verwendet, um unsere Programme zu entwickeln ... es ist ein Betrug.
Ein größtenteils vernünftiger Ansatz für Javascript.
Typen //Typ
Objekte //Objekt
Arrays //Array
Strings //String
Funktionen //Funktion
Eigenschaften //Eigenschaften
Variablen //Variablen
Heben //Variables Heben
Bedingte Ausdrücke und Gleichheit //Bedingte Ausdrücke und Gleichungen.
Blöcke //Blockcode
Kommentare //Kommentare
Leerzeichen //Leerzeichen
Kommas //Komma
Semikolons //Semikolon
Type Casting & Coercion //Type Conversion
Namenskonventionen //Namenskonventionen
Zugriffsmethoden //Zugriff
Konstruktoren //Konstruktor
Ereignisse //Zeit
Module //Modell
jQuery //
ECMAScript 5-Kompatibilität //ECMA 5-kompatibel
Testen //Testen
Leistung //Leistung
Ressourcen //Ressourcen
In freier Wildbahn
Übersetzung
Der JavaScript-Styleguide-Leitfaden
Mitwirkende
Lizenz
Typen
Primitiver Typ: Beim Zugriff auf einen primitiven Typ wird tatsächlich direkt auf den Inhalt des primitiven Typs zugegriffen.
Zeichenfolge
Nummer
boolean
null
undefiniert
var foo = 1,
bar = foo;
bar = 9;
console.log(foo,bar); //=>
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 (Literale) zu erstellen
//bad var item = new Object(); //good var item = {};
//bad var superman = { default: {clark: 'kent'}, private: true }; //good var superman = { defaults: {clark: 'kent'}, hidden: true };
Array(Array)
Verwenden Sie auch Literalmethoden, um Arrays zu erstellen
//bad var items = new Array(); //good var items = [];
var someStack = []; //bad someStack[someStack.length] = 'vein'; //good someStack.push('vein');
var len = items.length, //指的就是上面的内容... itemCopy = [], i; //bad for(i = 0; i < len ; ++i){ itemCopy[i] = items[i]; } //good itemCopy = items.slice(); //这里要注意了.这个我还真不知道...
Strings string
Verwenden Sie einfache Anführungszeichen, um die Zeichenfolge zu umgeben...//Ich habe hier keine passende Erklärung zur Leistung gefunden. Ich persönlich verwende es gerne auf diese Weise (weniger zu tragen ist besser als mehr zu tragen, oder? ..Sie weißt du...)
//bad var name = "Bob Parr"; //good var name = 'Bob Parr'; //bad var fullName = "Bob " + this.lastName; //good var fullName = 'Bob ' + this.lastName;
// bad var errorMessage = 'This is a super long error that was thrown because of Batman. When you stop to think about how Batman had anything to do with this, you would get nowhere fast.'; // bad var errorMessage = 'This is a super long error that was thrown because \ of Batman. When you stop to think about how Batman had anything to do \ with this, you would get nowhere \ fast.'; // good var errorMessage = 'This is a super long error that was thrown because ' + 'of Batman. When you stop to think about how Batman had anything to do ' + 'with this, you would get nowhere fast.';
var items, messages, length, i; messages = [{ stat: 'success', message: ' This one worked' },{ stat: 'success', message: ' This one worked' },{ stat: 'success', message: ' This one worked' } ]; length = messages.length; //bad function inbox(messages){ items = '<ul>'; for (i = 0; i < length; i++) { items += '<li>' + messages[i].message + '</li>'; } return items + '</ul>'; } //good function inbox(messages){ items = []; for( i = 0; i < length ; i++){ items[i] = messages[i].message; } return '<ul><li>' + items.join('</li><li>') + '</li></ul>'; }
//匿名函数表达式.. var anonymous = function(){ return true; }; // 命名函数表达式. var named = function named(){ return true; }; //即时引用函数 (function(){ console.log('Welcome to the Internet. Please follow me.'); })();
//bad if(currentUser){ function test(){ console.log('Nope.'); } } //good var test; if(currentUser){ test = function(){ console.log('Yup'); }; //be careful with the semi-colon. }
Verwenden Sie die Punktsyntax, um auf Eigenschaften zuzugreifen.
var luke = { jedi: true, age: 28 }; //bad var isJedi = luke['jedi']; //good var isJedi = luck.jedi;
zuzugreifen
var luke = { jedi: true, age: 28 }; function getProp(prop) { return luke[prop]; } var isJedi = getProp('jedi');