実行時にJavaScriptの呼び出しをラップする必要がありました。たとえば、Funcの呼び出しが発生したことをログに書き込みたいと思いました。
このラッピングは、evalまたはプロトタイピングを使用して追加された関数であっても、すべての関数で機能する必要があります。
実行時にJavaScriptの呼び出しをラップする必要がありました。たとえば、Funcの呼び出しが発生したことをログに書き込みたいと思いました。
このラッピングは、evalまたはプロトタイピングを使用して追加された関数であっても、すべての関数で機能する必要があります。
あなたが探しているのはノードプロキシです
ネイティブJSを使用してこれを行うことはできません。これは。に対してのみ機能しnode.js
ます。おそらく、V8で実行されているすべてのjsで機能するように調整できます。
メソッドを使用して関数を呼び出す場合は、次のcall
ようにすることができます。
oldCall = Function.prototype.call;
Function.prototype.call = function(){
// do some logging here
oldCall.apply(this, arguments);
}