gpt4 book ai didi

javascript - 在socket.io范围之外使用var

转载 作者:太空宇宙 更新时间:2023-11-04 00:52:50 25 4
gpt4 key购买 nike

我正在nodejs中进行聊天,我想在socket.io范围之外使用var用户,但它一直给我一个未定义的

这是我设置用户变量的代码

socket.on('bio', function(data) {
for (var i = 0; i < data.length; i++) {
users[data[i].name] = {
avatar: data[i].avatar,
steamid: data[i].steamid,
name: data[i].name,
userid: data[i].id,
admin: data[i].admin
}
}
});

在这里我尝试使用它,但它说它未定义

textarea.addEventListener('keydown', function(event) {
var self = this;

if (event.which === 13 && event.shiftKey === false) {
socket.emit('input', {
timeStamp: moment().format("YYYY-MM-DDTHH:mm:ss"),
name: chatName,
userid: users[chatName].id,
message: self.value
});

event.preventDefault();
}
});

这可能是一些愚蠢的事情,但我仍处于学习阶段:D

最佳答案

JavaScript 中的提升问题。

示例:

var v = "hello";
(function(){
console.log(v);
var v = "world";
})();

会是这样的

var v = "hello";
(function(){
var v; //declaration hoisting
console.log(v);
v = "world";
})();

关于javascript - 在socket.io范围之外使用var,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31539482/

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