2012-12-08 13 views
6
documentazione

leggere su fileReader, e scoprire che scrivono metodi che utilizzano void operatore, in questo modo:Perché Mozilla ha documentazione JavaScript scritto con IDL

void readAsArrayBuffer (
     in Blob blob 
); 

solo cercando capisco perché scrivono in questo modo? Se c'è qualche uso pratico di questa sintassi?

In seguito risulta non essere affatto js, ​​ma IDL che è Interface Description Language.

FYI: prima di fare questa domanda, faccio google e leggo l'attuale operatore void in JS. Quindi per favore non c'è bisogno che mi ripeti. Domanda un po 'sfocata, ma deve essere affrontata, perché Mozilla ha una documentazione su JavaScript scritta in questo modo? In IDL che ha poco con JavaScript reale?

+5

Questo non è l'operatore 'void'. Questo è un valore di ritorno 'void', che significa che non viene restituito alcun valore. Due cose diverse – mellamokb

+1

In realtà 'void' restituisce' undefined' e non viene usato per restituire nulla la maggior parte delle volte usate in 'link' come [this] (http://jsbin.com/ocihej/1/edit), [potrebbe essere utile] (http://www.tutorialspoint.com/javascript/javascript_void_keyword.htm). –

+0

[Guarda anche questa risposta] (http://stackoverflow.com/questions/666936/what-is-the-point-of-void-in-javascript) e [anche questo] (http: // stackoverflow. com/domande/12998620/che cosa è-un-buon-uso-di-vuoto). –

risposta

3

Mozilla usa IDL in due modi

  • Web IDL: utilizzati nelle specifiche W3C e tali da descrivere Javascript API. Queste sono le specifiche normative.

  • XPCOM dialetto IDL interno: le API Javascript native sono implementate in C++. Nel caso di Gecko (motore di Firefox), in particolare nel quadro specifico dominio chiamato XPCOM

Come afferma pagina collegata, Gecko descrive internamente interfacce in linguaggio neutro dialetto IDL, perché quelli interfaccia deve essere implementata sia nella nativa di run-time (C++) e motore Javascript (Javascript).

In questo caso la descrizione IDL è copia-incolla dalla specifica IDL ID originale o dall'implementazione interna di Gecko.

+0

Sono abbastanza sicuro che la descrizione dell'interfaccia sia WebIDL, non una copia passata dal codice sorgente. – Bergi

+0

Grazie. Chiarito la risposta. –

Problemi correlati