我在javascript中找到了一个我从未有过的语法 之前见过,我无法找到合适的人选 文档。
它来自一个教程:
var connection = new [webkit|moz]RTCPeerConnection(...)
我可以自己找到webkit的含义以及moz的含义, 可能这些是两个定义的常量或枚举。
但我的问题是:
语法[webkit|moz]
在方括号中的含义是什么?
是某种类型转换功能结果的结果吗?
|
中[webkit|moz]
字符的含义是什么?这是OR运算符吗?
THX
答案 0 :(得分:4)
这不是正确的javascript语法(如果你尝试运行它,你会在第一个[
得到意外的令牌错误),这只是意味着你必须在你的代码中使用,即: p>
new mozRTCPeerConnection()
适用于Firefox,
new webkitRTCPeerConnection()
适用于基于webkit的浏览器。
请参阅RTCPeerConnection上的MDN文档:
由于此技术的规范尚未稳定,请检查兼容性表以了解在各种浏览器中使用的正确前缀。
和
警告:RTCPeerConnection和RTCSessionDescription目前在大多数浏览器中都是前缀。如果您在任何工作中使用polyfill,则应该包含polyfill。
答案 1 :(得分:2)
正如@doldt所说,它不是js语法,只是一个伪代码指示。 您可以使用一种polyfill来实例化正确的:
var PeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
答案 2 :(得分:2)
这取自Mozilla开发者网络:
警告:当前是RTCPeerConnection和RTCSessionDescription 大多数浏览器都有前缀。如果你是的话,你应该包括一个polyfill 在任何工作中使用它。例如:
var PeerConnection = window.RTCPeerConnection || window.mozRTCPeerConnection || window.webkitRTCPeerConnection;
查看以下文档: https://developer.mozilla.org/en-US/docs/Web/API/RTCPeerConnection