自动将console.log添加到每个函数 - 第2部分

时间:2017-04-11 15:27:43

标签: javascript function logging hook

跟进问题到这里发布的解决方案:

Adding console.log to every function automatically

这非常适合获取名为的函数名称:

function augment(withFn) {
var name, fn;
for (name in window) {
    fn = window[name];
    if (typeof fn === 'function') {
        window[name] = (function(name, fn) {
            var args = arguments;
            return function() {
                withFn.apply(this, args);
                return fn.apply(this, arguments);

            }
        })(name, fn);
    }
  }
}

您是否还可以列出提供给被调用函数的参数?

1 个答案:

答案 0 :(得分:1)

如果您阅读了代码,您可以看到fn正在使用参数调用,这就是您在函数中所需的内容。所以只需将其添加到args:

withFn.apply(this, Array.from(args).concat([arguments]));