我有一个功能:
fs.readFile = function(filename, callback) {
// implementation code.
};
稍后我想在调试过程中看到函数的签名。
当我尝试console.log(fs.readFile)
时,我得到[ FUNCTION ]
。
这不会给我任何信息。
如何获得该功能的签名?
答案 0 :(得分:26)
具体来说,在node.js中,您必须在记录之前将该函数转换为字符串:
$ node
> foo = function(bar, baz) { /* codez */ }
[Function]
> console.log(foo)
[Function]
undefined
> console.log(foo.toString())
function (bar, baz) { /* codez */ }
undefined
>
或使用foo+""
答案 1 :(得分:5)
如果“函数签名”的含义是它定义了多少个参数,则可以使用:
function fn (one) {}
console.log(fn.length); // 1
所有函数自动获取长度属性。
答案 2 :(得分:3)
我不确定你想要什么但是试着查看这个小提琴的控制台日志,它打印整个函数定义。我正在看chrome console.log输出。
var fs = fs || {};
fs.readFile = function(filename, callback) {
alert(1);
};
console.log(fs.readFile);