首頁  >  文章  >  web前端  >  如何列出物件的所有方法?

如何列出物件的所有方法?

Patricia Arquette
Patricia Arquette原創
2024-10-19 16:22:02810瀏覽

How Can I List All Methods of an Object?

如何顯示物件的所有方法

問題:

確定一個方法列出給定物件的所有可用方法,類似:

 alert(show_all_methods(Math));

預期輸出:

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

解:

枚舉所有屬於物件的屬性(包括方法)使用Object.getOwnPropertyNames() 方法。此方法提供了一組屬性名稱:

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

隨後,使用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 及更早版本,內建物件屬性是不可列舉的。但是,此排除不適用於視窗和文件等對象,這些對象通常由瀏覽器定義並且可能是可枚舉的。

以上是如何列出物件的所有方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn