2012-12-08 23 views
6
tài liệu

Reading về fileReader, và tìm ra rằng họ viết các phương pháp sử dụng void điều hành, như thế này:Tại sao Mozilla đã tài liệu JavaScript bằng văn bản với IDL

void readAsArrayBuffer (
     in Blob blob 
); 

chỉ cố gắng hiểu tại sao họ viết nó như thế này? Nếu có sử dụng thực tế cú pháp này?

Sau đó, hóa ra không phải là js chút nào, nhưng IDL là Ngôn ngữ mô tả giao diện.

FYI: trước khi đặt câu hỏi này, tôi thực hiện google và đọc về toán tử void thực trong JS. Vì vậy, xin vui lòng không có nhu cầu reffer tôi trở lại. Câu hỏi hơi mờ, nhưng nó phải giải quyết, tại sao Mozilla có tài liệu về JavaScript được viết như thế này? Trong IDL có ít JavaScript thực tế?

+5

Đó không phải là toán tử 'void'. Đó là giá trị trả về 'void', có nghĩa là không có giá trị nào được trả về. Hai thứ khác nhau. – mellamokb

+1

Trên thực tế 'void' trả về' undefined' và được sử dụng để trả lại không có gì nhiều nhất trong số các lần được sử dụng trong 'link' như [this] (http://jsbin.com/ocihej/1/edit), [có thể hữu ích] (http://www.tutorialspoint.com/javascript/javascript_void_keyword.htm). –

+0

[Cũng xem câu trả lời này] (http://stackoverflow.com/questions/666936/what-is-the-point-of-void-in-javascript) và [cái này quá] (http: // stackoverflow. com/questions/12998620/whats-a-good-use-of-void). –

Trả lời

3

Mozilla sử dụng IDL cho theo hai cách

  • Web IDL: được sử dụng trong kỹ thuật W3C và như vậy để mô tả Javascript API. Đây là những thông số kỹ thuật tiêu chuẩn.

  • XPCOM phương ngữ IDL nội bộ: API Javascript gốc được triển khai bằng C++. Trong trường hợp của Gecko (engine của Firefox), đặc biệt là trong khuôn khổ lĩnh vực cụ thể được gọi là XPCOM

Theo các tiểu bang trang liên kết, Gecko nội mô tả giao diện bằng ngôn ngữ trung lập phương ngữ IDL, bởi vì những giao diện phải được thực hiện ở cả mẹ đẻ thời gian chạy (C++) và công cụ Javascript (Javascript).

Trong trường hợp này, mô tả IDL là bản sao dán từ thông số kỹ thuật IDL gốc hoặc từ việc triển khai nội bộ của Gecko.

+0

Tôi khá chắc chắn mô tả giao diện là WebIDL, không phải là bản sao quá khứ từ mã nguồn. – Bergi

+0

Cảm ơn. Làm rõ câu trả lời. –