ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript でオブジェクトのすべてのメソッドをリストするにはどうすればよいですか?
オブジェクトのすべてのメソッドのリスト
JavaScript では、Object.getOwnPropertyNames() メソッドを使用してオブジェクトのメソッドを列挙できます。ただし、メソッド以外のプロパティをフィルターで除外して、必要な機能のみを取得することもできます。
Object.getOwnPropertyNames()
Object.getOwnPropertyNames( ) は、指定されたオブジェクトに属するすべてのプロパティ (列挙可能および列挙不可能の両方) の配列を返します。例:
console.log(Object.getOwnPropertyNames(Math)); //-> ["E", "LN10", "LN2", "LOG2E", "LOG10E", "PI", ...etc ]
メソッドのフィルタリング
メソッドのみを取得するには、Object.getOwnPropertyNames() と filter() メソッドを組み合わせることができます。
console.log(Object.getOwnPropertyNames(Math).filter(function (p) { return typeof Math[p] === 'function'; })); //-> ["random", "abs", "acos", "asin", "atan", "ceil", "cos", "exp", ...etc ]
ES3 ブラウザの互換性
ES3 ブラウザ (IE 8 以下など) では、ブラウザ自体によって定義されたものを除き、組み込みオブジェクト プロパティを列挙できません。 (例: ウィンドウ、ドキュメント)。したがって、上記のアプローチを使用しても、これらの環境のすべてのメソッドはキャプチャされません。
IE Bug with { DontEnum }
Internet Explorer には、それを引き起こすバグがあります。プロトタイプ チェーン内に同じ名前のプロパティがあり、そのプロパティにも { DontEnum } がある場合、オブジェクト内の { DontEnum } 属性を持つプロパティをスキップします。これは、IE を使用する場合、潜在的な問題を回避するために、オブジェクト プロパティに慎重に名前を付けることが不可欠であることを意味します。
以上がJavaScript でオブジェクトのすべてのメソッドをリストするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。