函数能知道它作为参数使用的变量的名称吗
Can a function know the names of the variables it takes as arguments?
可能重复:
检查JavaScript函数的定义/执行中参数的名称/值
调试javascript时,我经常有这样的代码:
function doSomething(a,b,c) {
console.log(a,b,c);
//function contents here
//...
}
这导致控制台中出现如下行:
0.0010719847172334315 0.002392010391772366 -2.764548758273147e-7
这很难读懂。我想要这样的输出:
a: 0.0010719847172334315, b: 0.002392010391772366, c: -2.764548758273147e-7
这样做可能吗?我认为用多种语言是不可能的。然而,我对javascript不是很了解,而且它似乎是一种可以做这样聪明事情的语言。
您可以通过接收参数对象并对其进行迭代来完成类似的操作:
function doSomething(options) {
var i, parameterString = [];
for (i in options) {
if (!options.hasOwnProperty(i)) continue;
parameterString.push(i + ': ' + options[i]);
}
console.log(parameterString.join(', '));
//function contents here
//...
}
// Invoke like this:
var result = doSomething({a: 'a', b: 'b', c: 'c'});
请注意,大多数cruft是由于您希望在一行中记录参数;在其他一些情况下(例如每行记录一个(,您可以简单地对每个单独的字符串调用console.log,而不必处理数组或字符串联接。
相关文章:
- 函数参数中的数据与指定变量之间的任何性能差异
- 参数变量出现ngTable指令问题
- 我不能使用变量作为javascript参数
- HTML 按钮点击函数无法使用 jQuery 变量作为参数
- toString似乎导致setTimeout不总是为toString的变量参数执行函数
- 如何使用一些变量参数从javascript函数调用 asp.net C#函数并从C#函数获取字符串返回
- 使用变量参数创建新的 JavaScript 对象
- 将变量参数传递给函数 - JavaScript
- 在onClick函数中传递c#变量参数
- 将变量参数传递给函数
- 使用变量参数直接调用Addthis Toolbox
- 从shell向spidermonkey javascript传递变量参数
- 使用变量/参数作为数组标识符
- 在javascript中如何在不使用参数的情况下传递变量参数
- 动态添加事件侦听器.函数触发,但我如何发送一个变量参数
- 传递字符串变量参数node.js不表达
- 调用带有变量参数的函数指针
- 如何使Javascript定时器为变量参数工作
- JavaScript:一个特殊的变量/参数
- 如何使用jquery将变量参数传递给匿名函数