ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript でオブジェクトのすべてのメソッドをリストするにはどうすればよいですか?

JavaScript でオブジェクトのすべてのメソッドをリストするにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-19 16:17:02673ブラウズ

How to List All Methods of an Object in 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。