JavaScript で関数を呼び出して、パラメーターを渡さなかった場合、何も起こりません。
これにより、コードのデバッグが難しくなるため、その動作を変更したいと考えています。
引数が JavaScript 関数に送信されていないかどうかを判断する最善の方法を見てきまし たが、入力されたコードの行数が一定のソリューションが必要です。各関数に余分なコードを入力しません。
(「ファーストクラス」) Function オブジェクトのコンストラクターを変更することにより、すべての関数のコードにそのコードを自動的にプレフィックスとして付けることを考えました。
JavaScript でのコンストラクターの変更に触発され て、次のように Function オブジェクトのコンストラクターを変更できるかどうかを最初にテストしました。
function Function2 () {
this.color = "white";
}
Function.prototype = new Function2();
f = new Function();
alert(f.color);
ただし、「白」ではなく「未定義」と警告するため、機能していないため、この手法については詳しく調べていません。
任意のレベルでこの問題の解決策を知っていますか? JavaScript の内臓をハッキングすることは問題ありませんが、不足している引数を見つける方法に関するその他の実用的なヒントも問題ありません。