控制台日志中未定义javascript变量

时间:2012-12-09 20:08:35

标签: javascript jquery websocket

我的全局变量'data'变得一团糟:

 [undefined × 4] 

在控制台日志中。那应该是错的,因为我已经将4个元素推到了数组上。这是代码

var data = [];

         ws.onmessage = function(evt){

         var distances = JSON.parse(evt.data);
         console.log(distances);
            for(var i=0; i<buffer.length; i++) {
                if(buffer[i][0] == distances.miles) {
                    buffer[i][1][0]++;
                    }
            }               
            console.log(buffer);

            for (var i=0; i<buffer.length; i++) { 
                data.push(buffer[i][1][0]); 
            }
            console.log(data);
            draw();//redraw the graph
            data.length=0;
        }

正如您所见,数据现在应该是包含元素的数组。

由于

1 个答案:

答案 0 :(得分:1)

控制台它是内存中变量的实时表示,并且您使用data.length=0;使阵列内容无效。您应该在console.log($.clone(data));之前尝试data.length=0;(来自jQuery)。

这假设您绝对确定您期望的数据确实存在。