2015-05-26 20 views
5

Tôi đã tìm thấy cú pháp trong javascript tôi chưa từng thấy trước đây và tôi không thể tìm thấy tài liệu phù hợp.Cú pháp Javascript với [...] ở phía trước cuộc gọi hàm/hàm tạo cuộc gọi

Nó xuất phát từ một hướng dẫn:

var connection = new [webkit|moz]RTCPeerConnection(...) 

Tôi có thể tìm thấy bản thân mình bởi những gì webkit phương tiện và những gì MOZ phương tiện, có lẽ đây là hai hằng số hoặc enums xác định.

nhưng câu hỏi của tôi là:

không cú pháp [webkit|moz] có ý nghĩa gì trong những dấu ngoặc vuông?

Có phải là một số loại định hình kết quả của kết quả hàm không?

Và ý nghĩa của ký tự | có nghĩa là gì trong [webkit|moz] - đây có phải là toán tử OR không?

thx

Trả lời

4

Đó không phải là cú pháp javascript thích hợp (nếu bạn cố gắng chạy nó, bạn sẽ nhận được một lỗi thẻ bất ngờ tại [ đầu tiên), Nó chỉ có nghĩa là bạn phải sử dụng một trong hai trong mã của bạn, tức là .:

new mozRTCPeerConnection() 

cho Firefox, và

new webkitRTCPeerConnection() 

cho các trình duyệt dựa trên webkit.

Xem các tài liệu MDN trên RTCPeerConnection:

Bởi vì đặc điểm kỹ thuật của công nghệ này vẫn chưa ổn định, kiểm tra bảng tính tương thích cho các tiền tố thích hợp để sử dụng trong các trình duyệt khác nhau.

Cảnh báo: RTCPeerConnection và RTCSessionDescription hiện được bắt đầu ở hầu hết các trình duyệt. Bạn nên bao gồm một polyfill nếu bạn đang sử dụng nó trong bất kỳ công việc.

+0

Infact tôi đã thấy điều này: window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection – SharpEdge

2

Khi @doldt cho biết đó không phải là cú pháp js, chỉ là một dấu hiệu giả. Bạn có thể sử dụng một loại polyfill để nhanh chóng đúng một:

var PeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection; 

Source

2

này được lấy từ Mozilla mạng phát triển:

Cảnh báo: RTCPeerConnection và RTCSessionDescription đang tiền tố trong hầu hết các trình duyệt. Bạn nên bao gồm một polyfill nếu bạn đang sử dụng nó trong bất kỳ tác phẩm nào.Ví dụ:

var PeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection; 

Hãy xem tài liệu hướng dẫn tại địa chỉ: https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection

Các vấn đề liên quan