2012-12-08 8 views
6

Reading dokumentacji o fileReader i dowiedzieć się, że piszą używając metod void operatora, tak:Dlaczego Mozilla dokumentacja JavaScript napisane IDL

void readAsArrayBuffer (
     in Blob blob 
); 

tylko próbuje zrozumieć, dlaczego nie napisać to tak? Jeśli jest jakieś praktyczne zastosowanie tej składni?

Później okazuje się, że nie jest to js, ​​ale IDL, który jest językiem interfejsu.

FYI: zanim zadaję to pytanie, zajmuję się google i przeczytam o aktualnym operatorze void w JS. Więc proszę, nie ma żadnych potrzeb, które by mnie odbiły. Pytanie trochę niewyraźne, ale musi sobie poradzić, dlaczego Mozilla ma taką dokumentację napisaną w JavaScript? W IDL, który ma niewiele z rzeczywistym JavaScript?

+5

To nie jest operator 'void'. Jest to wartość zwracana 'void', co oznacza, że ​​nie zwracana jest żadna wartość. Dwie różne rzeczy. – mellamokb

+1

W rzeczywistości 'void' zwraca' undefined' i jest używane do zwracania niczego przez większość czasu użytego w 'link' jak [this] (http://jsbin.com/ocihej/1/edit), [mogłoby być pomocne] (http://www.tutorialspoint.com/javascript/javascript_void_keyword.htm). –

+0

[Spójrz na tę odpowiedź] (http://stackoverflow.com/questions/666936/what-is-the-point-of-void-in-javascript) i [ten też] (http: // stackoverflow. com/questions/12998620/whats-a-good-of-void). –

Odpowiedz

3

Mozilla używa IDL na dwa sposoby

  • Web IDL: Używane w specyfikacji W3C i takich opisać Javascript API. Są to specyfikacje normatywne.

  • XPCOM Wewnętrzny dialekt IDL: Rodzime API JavaScript są zaimplementowane w C++. W przypadku (silnika Firefoksa) Gecko, a konkretnie w konkretnym ramach domeny o nazwie XPCOM

Jak połączonych państw stron, Gecko opisuje wewnętrznie interfejsy językiem neutralnym IDL dialekcie, ponieważ ci, interfejs musi być realizowane zarówno w rodzimym czasie wykonywania (C++) i silnik JavaScript (Javascript).

W tym przypadku opis IDL jest albo kopiuj-wklej z orignal specyfikacji Web IDL lub z wewnętrznej implementacji Gecko.

+0

Jestem całkiem pewien, że opis interfejsu to WebIDL, a nie kopiuj-przeszłość z kodu źródłowego. – Bergi

+0

Dzięki. Wyjaśniono odpowiedź. –

Powiązane problemy