suchen
HeimWeb-Frontendjs-TutorialJavaScript: Die am meisten missverstandene Sprache der Welt

JavaScript, auch Mocha, LiveScript, JScript, ECMAScript genannt, ist eine der beliebtesten Programmiersprachen der Welt. Praktisch jeder auf der Welt hat mindestens einen JavaScript-Interpreter auf seinem PC installiert und dieser wird häufig verwendet. Der Grund, warum JavaScript so beliebt ist, liegt in der Rolle, die es als Skriptsprache im World Wide Web spielt.

Name

Der Hinweis auf das Präfix Java führt dazu, dass Menschen JavaScript immer mit Java assoziieren und denken, dass JavaScript eine Teilmenge von Java ist oder ist eine Version mit schlechterer Funktionalität als Java. Es scheint, dass der Name JavaScript Verwirrung stiften soll, und diese Verwirrung führt zu späteren Missverständnissen. JavaScript wird nicht als Java interpretiert, Java ist Java. JavaScript ist eine andere Programmiersprache.

Die Syntax von JavaScript ähnelt der von Java, genau wie Java C ähnelt. Allerdings ist JavaScript keine Teilmenge von Java, genauso wenig wie Java eine Teilmenge von C ist. JavaScript leistet in Anwendungen eine bessere Leistung als Java (Oak) ursprünglich vorgesehen war.

JavaScript wurde nicht bei Sun Microsystems, dem Geburtsort von Java, sondern bei Netscape entwickelt. Es hieß ursprünglich LiveScript und der Name verwirrte die Leute nicht sehr.

Der Hinweis des Suffixes Script zeigt, dass JavaScript keine echte „Programmiersprache“ ist und zwischen ihr und einer Programmiersprache noch eine Lücke besteht. Allerdings handelt es sich dabei tatsächlich um ein berufliches Problem. Im Vergleich zur C-Sprache opfert JavaScript Leistung im Austausch für eine reichhaltigere Ausdruckskraft und Dynamik.

Lisp im C-Gewand

Die C-ähnliche Syntax von JavaScript, einschließlich geschweifter Klammern und umständlicher for-Anweisungen, lässt es eher wie eine gewöhnliche prozedurale Sprache aussehen. Dies ist irreführend, da JavaScript mehr mit funktionalen Sprachen wie Lisp und Scheme gemeinsam hat als mit C oder Java. Es verwendet Arrays anstelle von Listen und Objekte anstelle von Eigenschaftslisten. Funktionen sind vom ersten Typ und Funktionen können Abschlüsse haben. Sie müssen nicht alle diese Klammern ausgleichen, um anonyme Funktionen zu verwenden.

Spracheingabe

JavaScript wurde ursprünglich für die Ausführung auf Netscape Navigator entwickelt. Sein Erfolg hat es de facto zum Standard in allen Webbrowsern gemacht. Dies führt zur Stereotypisierung von Sprachtypen. Man kann sagen, dass JavaScript der George Reeves unter den Programmiersprachen ist. JavaScript eignet sich auch für viele Anwendungen, die nichts mit Webseiten zu tun haben.

Ziele (Sprachdesign) ändern

Die erste Version von JavaScript war ziemlich schwach. Es fehlen Ausnahmebehandlung, intrinsische Funktionen und Vererbung. In ihrer jetzigen Form handelt es sich um eine vollständige objektorientierte Programmiersprache. Viele der Argumente gegen die Sprache basieren jedoch auf ihrer unausgereiften Form.
Das für die Verwaltung der Sprache zuständige ECMA-Komitee entwickelt Erweiterungen, was zwar gut gemeint ist, aber auch ein größeres Problem verschärft: immer mehr Versionen. Und das sorgte für noch mehr Verwirrung.

Designfehler

Keine Programmiersprache ist perfekt. JavaScript weist auch eigene Designfehler auf, z. B. das Überladen zum Ausdrucken von Additionen und die Verkettung von Zeichenfolgen mit der Typkonvertierung. Die fehleranfällige with-Anweisung sollte ebenfalls vermieden werden. Die Richtlinie für reservierte Wörter ist zu streng. Auch die Einbettung von Semikolons ist ein großer Fehler, ebenso wie die Notation regulärer Ausdrücke. Diese Fehler können zu Programmierfehlern führen und gleichzeitig das Design der Sprache als Ganzes in Frage stellen. Glücklicherweise können viele dieser Probleme mit einem sehr guten Flusenprogramm gemildert werden.

Das Gesamtdesign dieser Sprache ist recht solide. Überraschenderweise scheint das ECMAScript-Komitee kein Interesse daran zu haben, diese Fehler zu korrigieren. Vielleicht sind sie mehr daran interessiert, eine neue Sprache zu schaffen. (Hinweis: Dies sollte ein Witz des Autors sein).

Schlechte Implementierung

Einige frühe Implementierungen von JavaScript waren voller Fehler. Dies spiegelt sich in der Sprache wider. Erschwerend kommt hinzu, dass diese Implementierungen in noch fehlerhaftere Webbrowser eingebettet wurden.

Schlechte Nachschlagewerke

Fast alle Bücher über JavaScript sind ziemlich schlecht. Sie sind voller Fehler, unangemessener Beispiele und wenig hilfreicher Übungen. Wichtige Merkmale der Sprache werden schlecht erklärt oder völlig ignoriert. Ich habe viele Bücher über JavaScript überarbeitet, aber ich empfehle nur eines: „The Definitive Guide to JavaScript (Fifth Edition)“ von David Flanagan. (Anmerkung des Autors: Wenn Sie ein gutes Buch schreiben, senden Sie mir bitte ein kostenloses Exemplar.)

Unqualifizierte Standards

Offizielle JavaScript-Spezifikationen werden von ECMA veröffentlicht. Die Qualität dieser offiziellen Spezifikation ist recht gering. Und schwer zu lesen und zu verstehen. Dies trägt zum Problem schlechter Bücher bei, da Autoren keine Standarddokumentation verwenden können, um ihr Verständnis der Sprache zu verbessern. ECMA und das TC39-Komitee sollten darüber zutiefst beschämt und beunruhigt sein.

Amateure

Viele Leute, die JavaScript verwenden, sind keine Programmierer. Ihnen mangelt es an Professionalität und Ausbildung, um gute Programme zu schreiben. Unabhängig davon ist JavaScript so ausdrucksstark, dass mit JavaScript viele sinnvolle Dinge erledigt werden können. Dies hat JavaScript den Ruf eingebracht, dass JavaScript eine Sprache ist, die ausschließlich für Amateure entwickelt wurde und nicht für die professionelle Programmierung geeignet ist. Tatsächlich ist dies nicht der Fall.

Objektorientiert

Ist JavaScript objektorientiert? Es verfügt über Objekte und ihre Objekte können Daten und Methoden zur Verarbeitung der Daten enthalten. Objekte können andere Objekte enthalten. Es verfügt über keine Klasse, aber über einen Konstruktor, mit dem Sie klassenähnliche Operationen ausführen können, einschließlich der Funktion als Container für Klassenvariablen und -methoden. Es gibt keine klassenorientierte Vererbung, aber eine prototyporientierte Vererbung.

Die beiden wichtigsten Möglichkeiten, ein Objektsystem zu erstellen, sind Vererbung und Aggregation. JavaScript verfügt über beide Methoden, aber seine dynamische Natur macht es basierend auf der Aggregation noch besser.

Einige argumentieren, dass JavaScript nicht wirklich objektorientiert ist, da es das Ausblenden von Informationen nicht unterstützt (bereitstellt). Das heißt, ein Objekt kann keine privaten Variablen oder Methoden haben: Alle Mitglieder sind öffentlich.

Aber es gibt Beweise dafür, dass Objekte in JavaScript private Variablen und private Methoden haben können. (Hinweis: Im Originalartikel des Autors finden Sie hier einen Link zur Einführung in die Dokumentation zu privaten Variablen und privaten Methoden von Objekten.) Natürlich verstehen das nur wenige Menschen, da JavaScript die am meisten missverstandene Programmiersprache der Welt ist. (Anmerkung: Der Autor verwendet hier eine unbeschwerte Art der Lächerlichkeit).

Einige argumentieren, dass JavaScript nicht wirklich objektorientiert ist, weil es keine Vererbung unterstützt. Dies beweist jedoch, dass JavaScript nicht nur die traditionelle Vererbung unterstützen kann, sondern auch andere Code-Wiederverwendungsmuster anwenden kann. (Hinweis: Der Originaltext ist hier immer noch ein Link)

Copyright 2001 Douglas Crockford. Copyright Wrrrldwide.

[Empfohlener Kurs: Javascript-Video-Tutorial]

Das obige ist der detaillierte Inhalt vonJavaScript: Die am meisten missverstandene Sprache der Welt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Dieser Artikel ist reproduziert unter:CSDN. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
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.

Erstellen einer SaaS-Anwendung mit mehreren Mietern mit Next.js (Backend Integration)Erstellen einer SaaS-Anwendung mit mehreren Mietern mit Next.js (Backend Integration)Apr 11, 2025 am 08:23 AM

Ich habe eine funktionale SaaS-Anwendung mit mehreren Mandanten (eine EdTech-App) mit Ihrem täglichen Tech-Tool erstellt und Sie können dasselbe tun. Was ist eine SaaS-Anwendung mit mehreren Mietern? Mit Multi-Tenant-SaaS-Anwendungen können Sie mehrere Kunden aus einem Sing bedienen

So erstellen Sie eine SaaS-Anwendung mit mehreren Mietern mit Next.js (Frontend Integration)So erstellen Sie eine SaaS-Anwendung mit mehreren Mietern mit Next.js (Frontend Integration)Apr 11, 2025 am 08:22 AM

Dieser Artikel zeigt die Frontend -Integration mit einem Backend, das durch die Genehmigung gesichert ist und eine funktionale edtech SaaS -Anwendung unter Verwendung von Next.js. erstellt. Die Frontend erfasst Benutzerberechtigungen zur Steuerung der UI-Sichtbarkeit und stellt sicher, dass API-Anfragen die Rollenbasis einhalten

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ßer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Chat -Befehle und wie man sie benutzt
1 Monate vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

SAP NetWeaver Server-Adapter für Eclipse

SAP NetWeaver Server-Adapter für Eclipse

Integrieren Sie Eclipse mit dem SAP NetWeaver-Anwendungsserver.

Sicherer Prüfungsbrowser

Sicherer Prüfungsbrowser

Safe Exam Browser ist eine sichere Browserumgebung für die sichere Teilnahme an Online-Prüfungen. Diese Software verwandelt jeden Computer in einen sicheren Arbeitsplatz. Es kontrolliert den Zugriff auf alle Dienstprogramme und verhindert, dass Schüler nicht autorisierte Ressourcen nutzen.

Herunterladen der Mac-Version des Atom-Editors

Herunterladen der Mac-Version des Atom-Editors

Der beliebteste Open-Source-Editor

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

Dreamweaver Mac

Dreamweaver Mac

Visuelle Webentwicklungstools