我有一个函数:
fs.readFile = function(filename, callback) { // implementation code. };
稍后我想在调试过程中看到函数的签名。当我尝试console.log(fs.readFile)时,我得到[ FUNCTION ],它没有给予我任何信息。如何获取函数的签名?
console.log(fs.readFile)
[ FUNCTION ]
lc8prwob1#
在函数上调用.toString():
.toString()
$ node > foo = function(bar, baz) { /* some code */ } [Function: foo] > foo [Function: foo] > foo.toString() 'function(bar, baz) { /* some code */ }'
或者使用像foo+""这样的快捷方式。
foo+""
gpfsuwkq2#
如果你所说的“函数签名”是指它定义了多少个参数,你可以用途:
function fn (one) {} console.log(fn.length); // 1
所有函数都自动获得一个length属性。
1sbrub3j3#
我不知道你想要什么,但是试着看看这个小提琴的控制台日志,它打印了整个函数定义。我正在查看chrome console.log输出。
var fs = fs || {}; fs.readFile = function(filename, callback) { alert(1); }; console.log(fs.readFile);
DEMO http://jsfiddle.net/K7DMA/
3条答案
按热度按时间lc8prwob1#
在函数上调用
.toString()
:或者使用像
foo+""
这样的快捷方式。gpfsuwkq2#
如果你所说的“函数签名”是指它定义了多少个参数,你可以用途:
所有函数都自动获得一个length属性。
1sbrub3j3#
我不知道你想要什么,但是试着看看这个小提琴的控制台日志,它打印了整个函数定义。我正在查看chrome console.log输出。
DEMO http://jsfiddle.net/K7DMA/