Bagaimana untuk Menyenaraikan Semua Kaedah Objek dalam JavaScript?

Patricia Arquette
Lepaskan: 2024-10-19 16:17:02
asal
548 orang telah melayarinya

How to List All Methods of an Object in JavaScript?

Menyenaraikan Semua Kaedah Objek

Dalam JavaScript, anda boleh menghitung kaedah objek menggunakan kaedah Object.getOwnPropertyNames(). Walau bagaimanapun, anda juga mungkin ingin menapis sifat bukan kaedah, memastikan anda hanya mendapat kefungsian yang diingini.

Object.getOwnPropertyNames()

Object.getOwnPropertyNames( ) mengembalikan tatasusunan semua sifat (kedua-dua boleh dikira dan tidak boleh dikira) yang dimiliki oleh objek tertentu. Contohnya:

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

Kaedah Penapisan

Untuk mendapatkan kaedah sahaja, anda boleh menggabungkan Object.getOwnPropertyNames() dengan kaedah penapis():

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

Keserasian Penyemak Imbas ES3

Dalam penyemak imbas ES3 (seperti IE 8 atau ke bawah), sifat objek terbina dalam tidak boleh dikira, kecuali yang ditakrifkan oleh penyemak imbas itu sendiri (cth., tetingkap, dokumen). Akibatnya, menggunakan pendekatan di atas tidak akan menangkap semua kaedah dalam persekitaran ini.

IE Bug dengan { DontEnum }

Dalam Internet Explorer, terdapat pepijat yang menyebabkannya untuk melangkau sifat dengan atribut { DontEnum } dalam objek jika terdapat sifat dengan nama yang sama dalam rantai prototaip yang juga mempunyai { DontEnum }. Ini bermakna bahawa menamakan sifat objek dengan berhati-hati adalah penting apabila bekerja dengan IE untuk mengelakkan masalah yang berpotensi.

Atas ialah kandungan terperinci Bagaimana untuk Menyenaraikan Semua Kaedah Objek dalam JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!