suchen
HeimWeb-Frontendjs-TutorialWie schreibe ich gutes JavaScript?

Vorwort

In der tatsächlichen Arbeit sollten wir häufig Code sehen, der keine Funktionsprobleme aufweist, aber einen sehr schlechten Codierungsstil und eine sehr schlechte Spezifikation aufweist. Dies macht den Leuten oft Angst, weiterzulesen, und beeinträchtigt sogar die Stimmung des Lesers für den Tag. Diese Codes sind nicht nur schwer zu lesen, sondern auch schwer zu warten. Sie werden normalerweise von Programmieranfängern geschrieben, die gerade mit dem Programmieren begonnen haben, oder von erfahrenen Programmierern, die bereits seit mehreren Jahren arbeiten. Der Zweck dieses Artikels besteht daher darin, JavaScript-Lernenden, die keinen guten Codierungsstil entwickelt haben und sich der entsprechenden Codierungsstandards nicht bewusst sind, dabei zu helfen, ihr Codierungsbild zu verbessern.

Codierungsbild

Oben habe ich das Konzept des codierten Bildes vorgeschlagen:

编码形象 = 编码风格 + 编码规范

Ein gutes Programmierbild entspricht einem gut gekleideten jungen Mann. Für Programmierer ist dies die direkteste und einfachste Möglichkeit, Ihre hervorragenden Fähigkeiten zu verstehen.

Schauen wir uns ein Bild mit schlechter Codierung an:

//打个招呼
function func(){
    var age=18,sex='man';
    var greeting='hello';
    if(age<=18&&sex==&#39;man&#39;){
        console.log(greeting+&#39;little boy&#39;)
    }

    ...
}
func()

Der obige Code ist zusammengedrängt, es mangelt an Bewusstsein für Standards und das Leseerlebnis ist sehr schlecht. Es ist schwer, ihn anzusehen.

Schauen wir uns ein gutes Codebild an:

// 打个招呼
function greetFn() {
    var age = 18,
        sex = &#39;man&#39;,
        greeting = &#39;hello&#39;;

    if (age <= 18 && sex === &#39;man&#39;) {
        console.log(greeting + &#39;little boy&#39;);
    }

    ...
};

greetFn();

Fühlt sich der obige Code komfortabler an?

Es ist ersichtlich, dass es von entscheidender Bedeutung ist, ein gutes Codierungsbild zu entwickeln. In diesem Artikel wird hauptsächlich das auf JavaScript basierende Codierungsbild erläutert, dh der JavaScript-basierte Codierungsstil und die Codierungsspezifikationen.

Was ist also ein Codierungsstil, was ist eine Codierungsspezifikation und was ist der Unterschied zwischen den beiden?

Codierungsstil

Da der Codierungsstil ein Stil ist, gibt es zunächst kein Richtig oder Falsch. So wie sich jeder anders kleidet, kleiden sich manche Menschen angemessener und manche eher leger.

Auch im JavaScript-Codierungsstil gibt es einen relativ anständigen Stil. Insbesondere in der Teamentwicklung können wir unseren eigenen Stil nicht nach Belieben schreiben.

Hier sind einige zufällige Codierungsstile und vergleichen sie mit guten Codierungsstilen.

1. Angemessene Kommentare

// 不推荐的写法
var name = &#39;劳卜&#39;;//代码和注释之间没有间隔

if (name) {
    /*
     *注释之前无空行
     *星号后面无空格
     */
}
// 推荐的写法
var name = &#39;劳卜&#39;; // 代码和注释之间有间隔

if (name) {

    /*
     * 注释之前有空行
     * 星号后面有空格
     */
}

​2. Angemessene Intervalle

// 不推荐的写法
var name=&#39;劳卜&#39;; // 等号和两侧之间没有间隔

// if块级语句间没有间隔
if(name){
    console.log(&#39;hello&#39;);
}
// 推荐的写法
var name = &#39;劳卜&#39;; // 等号和两侧之间有间隔

// if块级语句间有间隔
if (name) {
    console.log(&#39;hello&#39;);
}

3. Angemessener Einzug

// 不推荐的写法:没有合理缩进
function getName() {
console.log(&#39;劳卜&#39;); 
}
// 推荐的写法:合理缩进
function getName() {
    console.log(&#39;劳卜&#39;);
}

4. Angemessene Leerzeilen

// 不推荐的写法: 代码功能块之间没有空行
function getName() {
    var name = &#39;劳卜&#39;;
    if (name) {
        console.log(&#39;hello&#39;);
    }
}
// 推荐的写法:代码功能块之间有空行
function getName() {
    var name = &#39;劳卜&#39;;

    if (name) {
        console.log(&#39;hello&#39;);
    }
}

5. Angemessene Benennung

// 不推荐的写法
var getName = &#39;劳卜&#39;; // 变量命名前缀为动词

// 函数命名前缀为名词
function name() {
   console.log(&#39;hello&#39;);
}
// 推荐的写法
var name = &#39;劳卜&#39;; // 变量命名前缀为名词

// 函数命名前缀为动词
function getName() {
   console.log(&#39;hello&#39;);
}

6. Begründete Erklärung

// 不推荐的写法:函数在声明之前使用
getName(); 

function getName() {
    console.log(&#39;hello&#39;);
}
// 推荐的写法:函数在声明之后使用
function getName() {
    console.log(&#39;hello&#39;);
}

getName();

7. Angemessenes Ende

// 不推荐的写法:没有使用分号结尾
var name = &#39;劳卜&#39; 

var getName = function() {
    console.log(&#39;hello&#39;)
}
// 推荐的写法:使用分号结尾
var name = &#39;劳卜&#39;; 

var getName = function() {
    console.log(&#39;hello&#39;);
};

Oben werden hauptsächlich 7 Beispiele für gängige Codierungsstile zum Vergleich aufgeführt. Es gibt kein Richtig oder Falsch zwischen der empfohlenen und der nicht empfohlenen Schreibmethode. Die empfohlene Schreibmethode ist lediglich besser zu lesen und zu pflegen für die Teamentwicklung und ist auch die Verkörperung eines guten Coding-Images.

Codierungsspezifikationen

Da es sich bei Codierungsstandards um Standards handelt, sollten wir sie nach bestimmten Regeln schreiben. Das zufällige Schreiben von Code, der gegen Codierungsstandards verstößt, kann zu Programmfehlern und potenziellen Bugs führen. Daher sollte er strenger sein als der Codierungsstil, und einige Leute beziehen den Codierungsstil in die Codierungsstandards ein.

Hier sind einige gängige Beispielcodes:

​1. Vergleichsparameter

// 不推荐的写法:==和!=比较时会进行类型转换,应尽量避免使用
var num = 123;

if (num == &#39;123&#39;) {
    console.log(num);
} else if (num != &#39;321&#39;) {
    console.log(&#39;321&#39;);
}
// 推荐的写法:使用===和!==来进行比较
var num = 123;

if (num === &#39;123&#39;) {
    console.log(num);
} else if (num !== &#39;321&#39;) {
    console.log(&#39;321&#39;);
}

2. Umschließen Sie die if-Anweisung

// 不推荐的写法:if语句不用大话号包裹会出现潜在bug
var num = 123;

if (num === &#39;123&#39;)
    console.log(num);
// 推荐的写法:if语句用大话号包裹
var num = 123;

if (num === &#39;123&#39;) {
    console.log(num);
}

3. Verwenden Sie eval mit Vorsicht

// 不推荐的写法:应避免使用eval,不安全,非常耗性能(一次解析成js语句,一次执行)
var json = &#39;{"name": "劳卜", "func": alert("hello")}&#39;;

eval(&#39;(&#39; + json + &#39;)&#39;); // 弹出“hello”
// 推荐的写法
var json = &#39;{"name": "劳卜", "func": alert("hello")}&#39;;

JSON.parse(json); // 校验报错

4. Art der Beurteilung

// 不推荐的写法:用typeof来判断构造函数创建的对象
var str = new String(&#39;劳卜&#39;); 

console.log(typeof str); // &#39;object&#39;
// 推荐的写法:用instanceof来判断构造函数创建的对象
var str = new String(&#39;劳卜&#39;); 

console.log(str instanceof String); // true

5. Attribute erkennen

// 不推荐的写法:使用undefined和null来检测一个属性是否存在
if (obj[&#39;name&#39;] !== undefined) {
    console.log(&#39;name属性存在&#39;); // 若obj.name为undefined时则会导致判断出错
}

if (obj[&#39;name&#39;] !== null) {
    console.log(&#39;name属性存在&#39;); // 若obj.name为null时则会导致判断出错
}
// 推荐的写法:使用in运算符来检测对象属性是否存在,使用hasOwnProperty方法来检测不包含原型链上的对象属性是否存在
if (&#39;name&#39; in obj) {
    console.log(&#39;name属性存在&#39;);
}

if (obj.hasOwnProperty(&#39;name&#39;)) {
    console.log(&#39;name属性存在&#39;);
}

Oben sind hauptsächlich fünf Beispiele für gängige Codierungsstandards aufgeführt. Durch die angemessene Standardisierung Ihres eigenen Codes können unnötige Wartungskosten und potenzielle Fehlerrisiken erheblich reduziert werden.

Fazit

„Programme werden so geschrieben, dass sie von Menschen gelesen werden können, und sie werden nur gelegentlich von Computern ausgeführt.“

Der Inhalt dieses Artikels basiert auf dem Buch „Writing Maintainable JavaScript“.

Das obige ist der detaillierte Inhalt vonWie schreibe ich gutes JavaScript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
JavaScript in Aktion: Beispiele und Projekte in realer WeltJavaScript in Aktion: Beispiele und Projekte in realer WeltApr 19, 2025 am 12:13 AM

Die Anwendung von JavaScript in der realen Welt umfasst Front-End- und Back-End-Entwicklung. 1) Zeigen Sie Front-End-Anwendungen an, indem Sie eine TODO-Listanwendung erstellen, die DOM-Operationen und Ereignisverarbeitung umfasst. 2) Erstellen Sie RESTFUFFUPI über Node.js und express, um Back-End-Anwendungen zu demonstrieren.

JavaScript und das Web: Kernfunktionalität und AnwendungsfälleJavaScript und das Web: Kernfunktionalität und AnwendungsfälleApr 18, 2025 am 12:19 AM

Zu den Hauptanwendungen von JavaScript in der Webentwicklung gehören die Interaktion der Clients, die Formüberprüfung und die asynchrone Kommunikation. 1) Dynamisches Inhaltsaktualisierung und Benutzerinteraktion durch DOM -Operationen; 2) Die Kundenüberprüfung erfolgt vor dem Einreichung von Daten, um die Benutzererfahrung zu verbessern. 3) Die Aktualisierung der Kommunikation mit dem Server wird durch AJAX -Technologie erreicht.

Verständnis der JavaScript -Engine: ImplementierungsdetailsVerständnis der JavaScript -Engine: ImplementierungsdetailsApr 17, 2025 am 12:05 AM

Es ist für Entwickler wichtig, zu verstehen, wie die JavaScript -Engine intern funktioniert, da sie effizientere Code schreibt und Leistungs Engpässe und Optimierungsstrategien verstehen kann. 1) Der Workflow der Engine umfasst drei Phasen: Parsen, Kompilieren und Ausführung; 2) Während des Ausführungsprozesses führt die Engine dynamische Optimierung durch, wie z. B. Inline -Cache und versteckte Klassen. 3) Zu Best Practices gehören die Vermeidung globaler Variablen, die Optimierung von Schleifen, die Verwendung von const und lass und die Vermeidung übermäßiger Verwendung von Schließungen.

Python vs. JavaScript: Die Lernkurve und BenutzerfreundlichkeitPython vs. JavaScript: Die Lernkurve und BenutzerfreundlichkeitApr 16, 2025 am 12:12 AM

Python eignet sich besser für Anfänger mit einer reibungslosen Lernkurve und einer kurzen Syntax. JavaScript ist für die Front-End-Entwicklung mit einer steilen Lernkurve und einer flexiblen Syntax geeignet. 1. Python-Syntax ist intuitiv und für die Entwicklung von Datenwissenschaften und Back-End-Entwicklung geeignet. 2. JavaScript ist flexibel und in Front-End- und serverseitiger Programmierung weit verbreitet.

Python gegen JavaScript: Community, Bibliotheken und RessourcenPython gegen JavaScript: Community, Bibliotheken und RessourcenApr 15, 2025 am 12:16 AM

Python und JavaScript haben ihre eigenen Vor- und Nachteile in Bezug auf Gemeinschaft, Bibliotheken und Ressourcen. 1) Die Python-Community ist freundlich und für Anfänger geeignet, aber die Front-End-Entwicklungsressourcen sind nicht so reich wie JavaScript. 2) Python ist leistungsstark in Bibliotheken für Datenwissenschaft und maschinelles Lernen, während JavaScript in Bibliotheken und Front-End-Entwicklungsbibliotheken und Frameworks besser ist. 3) Beide haben reichhaltige Lernressourcen, aber Python eignet sich zum Beginn der offiziellen Dokumente, während JavaScript mit Mdnwebdocs besser ist. Die Wahl sollte auf Projektbedürfnissen und persönlichen Interessen beruhen.

Von C/C nach JavaScript: Wie alles funktioniertVon C/C nach JavaScript: Wie alles funktioniertApr 14, 2025 am 12:05 AM

Die Verschiebung von C/C zu JavaScript erfordert die Anpassung an dynamische Typisierung, Müllsammlung und asynchrone Programmierung. 1) C/C ist eine statisch typisierte Sprache, die eine manuelle Speicherverwaltung erfordert, während JavaScript dynamisch eingegeben und die Müllsammlung automatisch verarbeitet wird. 2) C/C muss in den Maschinencode kompiliert werden, während JavaScript eine interpretierte Sprache ist. 3) JavaScript führt Konzepte wie Verschlüsse, Prototypketten und Versprechen ein, die die Flexibilität und asynchrone Programmierfunktionen verbessern.

JavaScript -Engines: Implementierungen vergleichenJavaScript -Engines: Implementierungen vergleichenApr 13, 2025 am 12:05 AM

Unterschiedliche JavaScript -Motoren haben unterschiedliche Auswirkungen beim Analysieren und Ausführen von JavaScript -Code, da sich die Implementierungsprinzipien und Optimierungsstrategien jeder Engine unterscheiden. 1. Lexikalanalyse: Quellcode in die lexikalische Einheit umwandeln. 2. Grammatikanalyse: Erzeugen Sie einen abstrakten Syntaxbaum. 3. Optimierung und Kompilierung: Generieren Sie den Maschinencode über den JIT -Compiler. 4. Führen Sie aus: Führen Sie den Maschinencode aus. V8 Engine optimiert durch sofortige Kompilierung und versteckte Klasse.

Jenseits des Browsers: JavaScript in der realen WeltJenseits des Browsers: JavaScript in der realen WeltApr 12, 2025 am 12:06 AM

Zu den Anwendungen von JavaScript in der realen Welt gehören die serverseitige Programmierung, die Entwicklung mobiler Anwendungen und das Internet der Dinge. Die serverseitige Programmierung wird über node.js realisiert, die für die hohe gleichzeitige Anfrageverarbeitung geeignet sind. 2. Die Entwicklung der mobilen Anwendungen erfolgt durch reaktnative und unterstützt die plattformübergreifende Bereitstellung. 3.. Wird für die Steuerung von IoT-Geräten über die Johnny-Five-Bibliothek verwendet, geeignet für Hardware-Interaktion.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

MinGW – Minimalistisches GNU für Windows

MinGW – Minimalistisches GNU für Windows

Dieses Projekt wird derzeit auf osdn.net/projects/mingw migriert. Sie können uns dort weiterhin folgen. MinGW: Eine native Windows-Portierung der GNU Compiler Collection (GCC), frei verteilbare Importbibliotheken und Header-Dateien zum Erstellen nativer Windows-Anwendungen, einschließlich Erweiterungen der MSVC-Laufzeit zur Unterstützung der C99-Funktionalität. Die gesamte MinGW-Software kann auf 64-Bit-Windows-Plattformen ausgeführt werden.

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

mPDF

mPDF

mPDF ist eine PHP-Bibliothek, die PDF-Dateien aus UTF-8-codiertem HTML generieren kann. Der ursprüngliche Autor, Ian Back, hat mPDF geschrieben, um PDF-Dateien „on the fly“ von seiner Website auszugeben und verschiedene Sprachen zu verarbeiten. Es ist langsamer und erzeugt bei der Verwendung von Unicode-Schriftarten größere Dateien als Originalskripte wie HTML2FPDF, unterstützt aber CSS-Stile usw. und verfügt über viele Verbesserungen. Unterstützt fast alle Sprachen, einschließlich RTL (Arabisch und Hebräisch) und CJK (Chinesisch, Japanisch und Koreanisch). Unterstützt verschachtelte Elemente auf Blockebene (wie P, DIV),

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung