2012-12-08 2 views
6

Lesen Dokumentation über fileReader, und finden Sie heraus, dass sie Methoden schreiben mit void Operator, wie folgt aus:Warum Mozilla hat Dokumentation JavaScript geschrieben mit IDL

void readAsArrayBuffer (
     in Blob blob 
); 

nur versuchen, verstehen, warum sie es so schreiben Sie? Gibt es einen praktischen Nutzen dieser Syntax?

Später stellt sich heraus, dass es überhaupt keine js ist, sondern IDL, die Interface Description Language ist.

FYI: Bevor ich diese Frage stelle, google ich und lese über tatsächliche Void-Operator in JS. Also bitte, bitte reffer mich nicht zurück. Frage ein wenig verschwommen, aber es muss sich damit auseinandersetzen, warum Mozilla eine Dokumentation über so geschriebenes JavaScript hat? In IDL, die wenig mit tatsächlichem JavaScript hat?

+5

Das ist nicht der Operator 'void'. Das ist ein "void" Rückgabewert, was bedeutet, dass kein Wert zurückgegeben wird. Zwei verschiedene Dinge. – mellamokb

+1

Tatsächlich gibt 'void'' undefined' zurück und wird verwendet, um die meisten Male, die in 'link' verwendet werden, wie [this] (http://jsbin.com/ocihej/1/edit), zurückzugeben [könnte hilfreich sein] (http://www.tutorialspoint.com/javascript/javascript_void_keyword.htm). –

+0

[Siehe auch diese Antwort] (http://stackoverflow.com/questions/666936/what-ist-the-point-of-void-in-javascript) und [auch dies] (http: // stackoverflow. com/questions/12998620/whats-eine-gute-nutzung-von-void). –

Antwort

3

Mozilla verwendet IDL auf zwei Arten

  • Web IDL: verwendet in W3C-Spezifikationen und solche Javascript-APIs zu beschreiben. Dies sind die normativen Spezifikationen.

  • XPCOM interner IDL-Dialekt: Die nativen Javascript-APIs sind in C++ implementiert. In Gecko (Firefox-Engine) Fall, speziell in domänenspezifischen Rahmen genannt XPCOM

Da die verlinkte Seite Staaten, beschreibt intern Gecko-Schnittstellen in sprachneutral IDL Dialekt, weil die Schnittstelle muss sowohl im nativen Laufzeit umgesetzt werden (C++) und Javascript Engine (Javascript).

In diesem Fall ist die IDL-Beschreibung entweder copy-paste aus der orignal Web IDL-Spezifikation oder aus Geckos interner Implementierung.

+0

Ich bin mir ziemlich sicher, dass die Schnittstellenbeschreibung WebIDL ist, keine Kopie-Vergangenheit aus dem Quellcode. – Bergi

+0

Danke. Klärte die Antwort. –

Verwandte Themen