Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah Saya Boleh Menyenaraikan Semua Kaedah Objek?

Bagaimanakah Saya Boleh Menyenaraikan Semua Kaedah Objek?

Patricia Arquette
Patricia Arquetteasal
2024-10-19 16:22:02812semak imbas

How Can I List All Methods of an Object?

Cara Memaparkan Semua Kaedah Objek

Masalah:

Tentukan kaedah untuk senaraikan semua kaedah yang tersedia untuk objek tertentu, serupa dengan:

 alert(show_all_methods(Math));

Output yang dijangkakan:

abs, acos, asin, atan, atan2, ceil, cos, exp, floor, log, max, min, pow, random,round, sin, sqrt, tan, …

Penyelesaian:

Untuk menghitung semua sifat, termasuk kaedah, kepunyaan objek, menggunakan kaedah Object.getOwnPropertyNames(). Kaedah ini menyediakan tatasusunan nama sifat:

console.log(Object.getOwnPropertyNames(Math));
//-> ["E", "LN10", "LN2", "LOG2E", "LOG10E", "PI", ...etc ]

Selepas itu, gunakan kaedah penapis() untuk mengasingkan kaedah semata-mata:

console.log(Object.getOwnPropertyNames(Math).filter(function (p) {
    return typeof Math[p] === 'function';
}));
//-> ["random", "abs", "acos", "asin", "atan", "ceil", "cos", "exp", ...etc ]

Nota untuk Penyemak Imbas ES3:

Dalam penyemak imbas ES3, seperti IE 8 dan lebih awal, sifat objek terbina dalam tidak boleh dikira. Walau bagaimanapun, pengecualian ini tidak digunakan pada objek seperti tetingkap dan dokumen, yang biasanya ditakrifkan oleh penyemak imbas dan mungkin boleh dikira.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menyenaraikan Semua Kaedah Objek?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn