Ich habe versucht, nach einer JavaScript-Referenz zu suchen, aber es ist keine verfügbar. Die beiden besten vorgeschlagenen Quellen sind MDN (Mozilla Developer Network) und W3Schools.
Warum?
Ich habe versucht, nach einer JavaScript-Referenz zu suchen, aber es ist keine verfügbar. Die beiden besten vorgeschlagenen Quellen sind MDN (Mozilla Developer Network) und W3Schools.
Warum?
Antworten:
Es ist nicht so, dass es eine offizielle JavaScript-Version gibt. Alle Browser haben ihre eigene JavaScript-Engine erstellt - einige verwenden jedoch dieselbe. Vor allem aber hat Internet Explorer eine eigene Version, die nicht viel von dem unterstützt, was die anderen Browser unterstützen, was es sehr schwierig macht, eine allgemeine JavaScript-Referenz zu erstellen.
Bearbeiten:
Obwohl ich weiß, dass es ein offizielles ECMA-Standard- und Entwicklungsteam gibt, ist mein Punkt, dass es nicht wirklich wichtig ist, solange Browser (Internet Explorer) dem nicht gerecht werden. Letztendlich möchten Kunden, dass JavaScript auch für Internet Explorer funktioniert. Sie werden sich nicht um die ECMA-Standards kümmern, sie wollen nur, dass sie funktionieren. Hier kommen JavaScript-Bibliotheken ins Spiel, aber das ist eine andere Geschichte.
Es sind die gleichen Probleme mit HTML und CSS. Wir können diese Tools erst für die aktive Entwicklung verwenden, wenn:
Edit2:
Internet Explorer nähert sich mit dem neuen Browserprojekt von Microsoft: Edge dem Grab. Dies ändert jedoch nichts am Gesamtbild. Wir haben noch viele verschiedene Browser, die wir unterstützen müssen. Entwickler versuchen ständig, die Grenzen des Möglichen zu erweitern. Dies bedeutet, dass wir häufig dieses Problem haben. Einige Browserversionen, die wir unterstützen möchten, unterstützen einige Funktionen des Standards nicht (was normalerweise etwas fließend ist). Dies bedeutet, dass wir eine Problemumgehung vornehmen oder Frameworks verwenden müssen, die die fehlenden Builds implementieren in Funktionen.
Sie können es mit der offiziellen ECMAscript-Site versuchen.
Aber das Nützliche ist eigentlich die Implementierung jedes Browsers.
Ich mag dieses Cheatsheet aus Danny Goodmans JavaScript-Bibel sehr:
http://media.wiley.com/product_ancillary/12/04705269/DOWNLOAD/9780470526910_Appendix_A.pdf
Ich würde sagen, dies ist der "offizielle": https://developer.mozilla.org/en/JavaScript
Sie haben auch die ECMAScript-Sprachspezifikation, 5.1 Edition (oder als PDF die endgültige Spezifikation) .
Und von Microsoft: JavaScript-Sprachreferenz : "In dieser Dokumentation wird die Microsoft-Implementierung von JavaScript erläutert , die der Sprachspezifikation ECMAScript 5th Edition entspricht . Außerdem werden zusätzliche Funktionen bereitgestellt, die nicht in den Ecma-Standards enthalten sind."
Wenn Sie ECMAScript für das Web verwenden (was 99,9% der Menschen sind), suchen Sie wahrscheinlich über die grundlegenden Syntaktiken der Sprache hinaus (die in der oben genannten ECMA-262-Spezifikation behandelt werden) nach einer DOM-Referenz - Dies ist die ECMAScript-API, die für die Interaktion mit Webdokumenten verwendet wird.
Ich bin sehr überrascht, dass niemand das DOM-API-Sofar erwähnt hat. Der aktuelle W3C DOM-Standard ist hier: http://www.w3.org/TR/DOM-Level-2-Core/
(Übrigens, was die Namensverwirrung betrifft - ECMAScript ist der Name des offiziellen Standards, und "Javascript" und "JScript" sind Netscape und Microsofts proprietäre "Gabeln")
Es gibt eine offizielle Referenz, sie hat einfach kein sehr praktisches Format. Dies ist die ECMA-262- Spezifikation. Es handelt sich um ein einzelnes, sehr großes PDF-Dokument anstelle eines durchsuchbaren Satzes von HTML-Seiten.
Alle Überarbeitungen von JavaScript-Seiten auf MDC durch ein Mitglied des Mozilla Documentation-Teams (wie Eric Shepherd ) sind offiziell. JavaScript wird offiziell von Mozilla verwaltet, daher ist nur die Dokumentation von Mozilla offiziell. Die einzigen Engines, die JavaScript unterstützen, werden derzeit von Mozilla erstellt, und jede andere Engine implementiert ECMAScript. JavaScript und ECMAScript weisen einige Unterschiede auf (zum Beispiel die großartige let
Aussage).
Es ist sehr schwierig, eine "offizielle" Referenz zu haben, solange es Implementierungen (in allen Browsern) und eine Spezifikation (ECMAScript) gibt, aber keine Konformitätstests von Implementierungen mit den Spezifikationen.
Jetzt haben wir jedoch die EMCAScript 5-Konformitätssuite unter http://es5conform.codeplex.com/ - und es scheint ein gewisser Konsens darüber zu bestehen, dass ECMAScript-Implementierungen näher zusammenrücken werden, sodass ECMAScript eher die offizielle Referenz für die Sprache ist.
Ich finde die alten Netscape 4 JavaScript-Dokumente für diesen Zweck sehr nützlich. Obwohl sie offensichtlich völlig veraltet sind und einige der DOM-Funktionen in ihnen wie Ebenen längst nicht mehr vorhanden sind, sind sie für die Sprachgrundlagen wirklich solide.
Das liegt daran, dass vor den Tagen der IE-Vorherrschaft und der ECMA-Standardisierung das JavaScript von Netscape das endgültige JavaScript war. Andere Browser mussten so ziemlich genau das implementieren, was Sie in diesen alten Dokumenten sehen.
Sie sind auch viel einfacher zu lesen als das ECMA-262-Dokument, was selbst nach den Standards von Standarddokumenten ein absoluter Horror ist.
Wikipedia-Zitat:
Anfänge bei Netscape
Im November 1996 reichte Netscape JavaScript bei Ecma International ein ...
JavaScript wird offiziell von der Mozilla Foundation verwaltet ...
Meiner Meinung nach ist die ECMA der Standard und Mozilla der offizielle.
Mit "offiziell" meinen Sie "geschrieben von den Verantwortlichen für JavaScript".
Ich spekuliere hier wirklich nur, aber die Verantwortlichen für JavaScript (ECMA) verdienen kein direktes Geld damit und haben wahrscheinlich keine besonderen Fähigkeiten beim Schreiben von Referenzdokumentationen. Sie haben also weder den Anreiz noch die Fähigkeit, eine gute Referenz zu schreiben.
Persönlich mag ich JavaScript: den Definitive Guide von O'Reilly. Im November erscheint eine sechste Ausgabe.
Ich mag Daniel Krooks Apidoc sehr , obwohl er einige Erklärungen und Beispiele gebrauchen könnte. Ich würde wirklich gerne ein krook w3school Mashup sehen.