2017-04-11 5 views
0

は、ここに掲載溶液への質問のフォローアップ:は自動的にすべての関数にはconsole.logを追加する - パート2

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

コードを読むと、fnが引数で呼び出されていることがわかります。これが関数内で必要なものです。したがって、argsに追加してください:

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

Aha -thanks。私は議論がそこにあることを知っていたが、連結していなかった。乾杯。 Max/MSP - Array.from(args)でこれを行っている人はいないので、代わりにarrayfromargs(args)を使用してください。 – drkoss

関連する問題