首頁 > web前端 > js教程 > 如何在 JavaScript 中列出物件的所有方法?

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

Patricia Arquette
發布: 2024-10-19 16:17:02
原創
699 人瀏覽過

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 中,有一個Bug 導致它如果原型鏈中存在具有相同名稱的屬性,並且該屬性也具有{DontEnum},則跳過物件中具有{DontEnum} 屬性的屬性。這意味著在使用 IE 時仔細命名物件屬性至關重要,以避免潛在問題。

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

來源:php
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板