我想创建一个快速函数,将console.log
一个变量的名称和值。我想要在控制台中显示该功能的结果:foo: bar
。Javascript:从变量本身引用一个变量名称
我对功能的基本思路是这样的:
function varlog(var_name)
{
console.log(var_name + ": " + eval(var_name));
}
,我会打电话的正是如此:
function someRandomFunction()
{
var foo = "bar";
// ... some stuff happens
varlog("foo");
}
这个工作,如果foo
是全球性的,但在不工作提供的例子。另一种也只能在全球范围内使用的选项是使用window[var_name]
而不是可怕的eval
。
我不认为我问的是可能的,但我想我会把它扔到那里。
我花了很多时间试图懒惰。我目前的方法只是console.log('foo: ' + bar);
,它工作得很好。但现在我只想知道这是否可能。
一些其他的问题,我在寻找这个参考点/创造什么我现在有:
- Variable name as a string in Javascript
- How to convert variable name to string in JavaScript?
- Javascript, refer to a variable using a string containing its name?
- How to find JavaScript variable by its name
-
编辑:如果名称“foo”可以从变量派生,我很乐意致电varlog(foo)
。
这个问题也:http://stackoverflow.com/questions/1009911/javascript-get-argument-value-and-name-of-passed-variable – manji 2011-03-22 17:36:59
@najmeddine我已经差不多复制更好的格式。卫生署!谢谢:) – hookedonwinter 2011-03-22 17:42:10
我可能只是扩展JavaScript来转换所有var赋值'var foo =“bar”;''var foo = {foo:“bar”};'(主要是开玩笑的)(主要是) – hookedonwinter 2011-03-22 17:54:45