无法从函数作用域向外部对象添加属性
Cannot add property to an outer object from function scope?
我有一个函数,它在io.on()函数中提供了一个套接字对象。然而,当我试图给一个新的属性,它的对象内套接字。在功能上,我无法使用套接字外的属性。在函数。控制台显示了这个-
roomName
#undefined
我想知道如何在对象之外使用属性。
io.on("connection", function(socket) {
socket.on("join_group", function(user, roomnum) {
socket.userName = user;
socket.selfRoom = roomnum;
socket.join(roomnum);
console.log(socket.selfRoom);
});
socket.on("msg", function() {
console.log("#" + socket.selfRoom);
});
});
我想知道如何在对象之外使用属性。
在on
事件回调函数中将属性设置为外部对象socket
但是当on
事件处理程序被调用时,外部console.log("#" + socket.selfRoom);
语句已经被执行。
请注意
-
定义事件处理程序
socket.on("join_group", function(user, roomnum) {
与被调用的事件处理程序(回调方法)不相同 -
JavaScript是单线程的,并且工作在事件循环模型上,所以当事件被触发时,这个事件处理程序已经进入了事件循环队列,该队列将在当前任务+队列中已经存在的任务之后执行。
相关文章:
- Javascript从匿名函数访问外部对象属性
- 在内部JavaScript函数中包含外部对象
- 覆盖外部对象's函数在Internet Explorer中使用JavaScript
- 如何使用javascript(和AJAX?)调用外部对象
- 如何将嵌套对象移动到外部对象
- 如何在我的Chrome扩展中包含外部对象
- Javascript外部对象全局
- 访问JS中的外部对象
- scroll在chrome中的svg外部对象内不起作用
- 从$.getJSON调用外部对象
- 将JSONP回调的结果保存到外部对象
- 无法从函数作用域向外部对象添加属性
- 如何在Javascript中访问外部对象上的函数
- 如何在javascript对象中访问外部对象
- 使用dojo.在对象、外部对象的方法中挂起和闭包
- Javascript:内部数组不会重置为外部对象
- 在JavaScript中,如何得到'this'外部对象的对象的方法,该对象是外部对象中数组的元素
- 使用javascript在svg中动态添加外部对象
- Dom外部对象的样式
- 从嵌套函数访问外部对象(使用主干.js