オブジェクトのすべてのメソッドを表示する方法
問題:
オブジェクトのメソッドを決定する指定されたオブジェクトで使用可能なすべてのメソッドを次のようにリストします。
alert(show_all_methods(Math));
予想される出力:
abs, acos, asin, atan, atan2, ceil, cos, exp, floor, log, max, min, pow, random,round, sin, sqrt, tan, …
解決策:
すべてを列挙するにはオブジェクトに属するプロパティ (メソッドを含む) は、Object.getOwnPropertyNames() メソッドを使用します。このメソッドはプロパティ名の配列を提供します:
console.log(Object.getOwnPropertyNames(Math)); //-> ["E", "LN10", "LN2", "LOG2E", "LOG10E", "PI", ...etc ]
その後、filter() メソッドを使用してメソッドのみを分離します:
console.log(Object.getOwnPropertyNames(Math).filter(function (p) { return typeof Math[p] === 'function'; })); //-> ["random", "abs", "acos", "asin", "atan", "ceil", "cos", "exp", ...etc ]
ES3 ブラウザーの注意:
IE 8 以前などの ES3 ブラウザでは、組み込みオブジェクト プロパティを列挙できません。ただし、この除外はウィンドウやドキュメントなどのオブジェクトには適用されません。これらのオブジェクトは通常ブラウザによって定義され、列挙可能である可能性が高くなります。
以上がオブジェクトのすべてのメソッドをリストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。