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!