如何使变量从一个函数到另一个函数可见?(JavaScript.jQuery)

如何使变量从一个函数到另一个函数可见?(JavaScript.jQuery),javascript,jquery,node.js,socket.io,Javascript,Jquery,Node.js,Socket.io,我有socket.io应用程序代码和变量计时器=1000 socket.on('get data', function(question){ socket.emit('chat message', $(this).val()); var timer = 1000; }); 这部分代码将输入值发送到服务器,并从服务器发送到另一个客户端(您知道,WebSocket)。 但当我尝试将我的timer变量console.log记录下来时,我得到一个错误“timer未定义”

我有socket.io应用程序代码和变量计时器=1000

socket.on('get data', function(question){
        socket.emit('chat message', $(this).val());
        var timer = 1000;
});
这部分代码将输入值发送到服务器,并从服务器发送到另一个客户端(您知道,WebSocket)。 但当我尝试将我的timer变量console.log记录下来时,我得到一个错误“timer未定义”

socket.on('chat message',函数(msg){
控制台日志(计时器);
$(“#结果”).append($(“
  • ”).text(msg)); 返回false; });

  • 那么,如何使变量在jQuery中从一个函数到另一个函数可见呢?不将数据发送到服务器…

    您应该在对象内部发送数据,如下所示:

    发射

    socket.on('get data', function(question){
         var data = {
           input: $(this).val(),
           timer: 1000
         }
         socket.emit('chat message', data);
    });
    
    打开

    socket.on('chat message', function(data){
         console.log(data.timer);
         $('#results').append($('<li>').text(data.input));
         return false;
    });
    
    socket.on('chat message',函数(数据){
    console.log(数据计时器);
    $(“#结果”).append($(“
  • ”).text(data.input)); 返回false; });
  • @BimBam无问题:)
    socket.on('chat message', function(data){
         console.log(data.timer);
         $('#results').append($('<li>').text(data.input));
         return false;
    });