【发布时间】:2011-07-20 16:53:15
【问题描述】:
我想创建一个快速函数,它将console.log 变量名和值。我希望在控制台中显示函数的结果:foo: bar。
我对该函数的基本想法如下:
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)。
【问题讨论】:
-
@najmeddine 我几乎用更好的格式复制了它。嗬!谢谢:)
-
我可能只是扩展 javascript 以将所有 var 赋值
var foo = "bar";转换为var foo = {foo:"bar"};(主要是在开玩笑。)(主要是)
标签: javascript