如何显示变量的Var名称而不是javascript中Var保存的值?

时间:2015-04-16 15:26:36

标签: javascript variables text

所以我试图建立自己的调试器。以下是我希望输出显示的方式:

kills:    7
level:    60
weapon:   sniper

这些值将显示在黑色矩形中,可以使用鼠标在屏幕上拖动。到目前为止这是做什么的。 (我删除了除Text命令之外的所有视觉效果) 注意:我正在使用Khan学院,因此代码看起来会略有不同。

var kills = 0; 
var level = 10;         
var weapon = 'sniper';

var input = [kills,level,weapon];  
var debug1 = function(data){
    for(var i = 0; i < data.length; i ++){
        text(data[i],mouseX + (i*30) + 4,mouseY - 75);
    }

};

var draw = function() {
    debug1(input); 
};

代码说明:顶部的Vars只是示例Vars。我想要debug1(){};能够承担任何和所有变量。 我的输出结果是什么样的(与我希望它们看起来相似):

0
60
sniper

我的问题:我找不到将名称栏打印到屏幕的方法!在我的格式化打印中,我希望Var名称与它所拥有的数据相关联。但无论何时(但是)我尝试在var 名称中打印,我总是以它的值结束。这使我的调试器无用,因为即使打印出值,我也无法告诉数据所连接的 vars。请通过展示一种方法来帮助我!我尝试过的事情:

data[i].text

"data[i]"

1 个答案:

答案 0 :(得分:0)

您是否可以选择将数据设为关联数组 即

input = [Kills: kills, Level: level, Weapon: weapon] 

所以你可以将它们称为Key / Val对吗? 然后你可以使用像

这样的东西
$.each(data, function(key, value) {
    text(key + ': '+ value,mouseX + (i*30) + 4,mouseY - 75);
});

这可能是解决问题的一种方法(还没有测试过,但似乎很直接)