gpt4 book ai didi

javascript - WebSocket 构造函数是原生 Javascript 吗?

转载 作者:太空宇宙 更新时间:2023-11-04 02:55:23 24 4
gpt4 key购买 nike

我想知道,WebSocket() 构造函数是 native Javascript 的一部分吗?或者它是node.js 的“ws”模块的一部分?

如果它是“ws”模块的一部分,我会很困惑,因为我正在参加 lynda.com 培训类(class),这是我和我的讲师设置的客户端 js 文件:

var ws = new WebSocket("ws://localhost:3000");
ws.onopen = function() {
setTitle("Connected to Cyber Chat");
};

ws.onclose = function() {
setTitle("DISCONNECTED");
};

ws.onmessage = function(payload) {
printMessage(payload.data);
};

document.forms[0].onsubmit = function () {
var input = document.getElementById('message')
ws.send(input.value);
input.value = '';
};

function setTitle(title) {
document.querySelector('h1').innerHTML = title;
}

function printMessage(message) {
var p = document.createElement('p');
p.innerText = message;
document.querySelector('div.messages').appendChild(p);
}

所以在我看来,WebSocket() 构造函数必须是一个 native Javascript 构造函数,它在您在参数中提供的 URL 中查找 Websocket 服务器,因为没有任何内容将此文件引用到我在此项目文件夹中的“ws” Node 模块。

最佳答案

webSocket 不是 Javascript ECMA 标准的一部分。它不是 Javascript 本身的标准部分。您会发现 EMCAScript standard 中根本没有提及它。定义了 Javascript 语言。

它有 own standard for the webSocket protocol然后浏览器和 ws 库(以及其他库)提供满足该标准的实现。浏览器使用的 API 正在由 the W3C in a standards process 开发,但这完全独立于 Javascript 本身。

但是,如果你要使用一个普通的 JS 引擎,例如 V8 引擎,它在 V8 引擎中不会有 webSocket 实现。这就是为什么,例如,node.js 没有内置 webSocket 实现。它不是 V8 Javascript 引擎的一部分。

关于javascript - WebSocket 构造函数是原生 Javascript 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51110845/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com