Auflisten aller Methoden eines Objekts
In JavaScript können Sie die Methoden eines Objekts mithilfe der Methode Object.getOwnPropertyNames() auflisten. Möglicherweise möchten Sie jedoch auch die Nicht-Methoden-Eigenschaften herausfiltern, um sicherzustellen, dass Sie nur die gewünschte Funktionalität erhalten.
Object.getOwnPropertyNames()
Object.getOwnPropertyNames( ) gibt ein Array aller Eigenschaften (sowohl aufzählbare als auch nicht aufzählbare) zurück, die zu einem bestimmten Objekt gehören. Zum Beispiel:
console.log(Object.getOwnPropertyNames(Math)); //-> ["E", "LN10", "LN2", "LOG2E", "LOG10E", "PI", ...etc ]
Filtermethoden
Um nur die Methoden zu erhalten, können Sie Object.getOwnPropertyNames() mit der filter()-Methode kombinieren:
console.log(Object.getOwnPropertyNames(Math).filter(function (p) { return typeof Math[p] === 'function'; })); //-> ["random", "abs", "acos", "asin", "atan", "ceil", "cos", "exp", ...etc ]
ES3-Browserkompatibilität
In ES3-Browsern (wie IE 8 oder niedriger) sind integrierte Objekteigenschaften nicht aufzählbar, mit Ausnahme derjenigen, die vom Browser selbst definiert werden (z. B. Fenster, Dokument). Folglich werden mit dem oben genannten Ansatz nicht alle Methoden in diesen Umgebungen erfasst.
IE-Fehler mit { DontEnum }
Im Internet Explorer gibt es einen Fehler, der dies verursacht um Eigenschaften mit dem Attribut { DontEnum } in einem Objekt zu überspringen, wenn es in der Prototypenkette eine Eigenschaft mit demselben Namen gibt, die ebenfalls über { DontEnum } verfügt. Dies bedeutet, dass die sorgfältige Benennung von Objekteigenschaften bei der Arbeit mit dem IE unerlässlich ist, um potenzielle Probleme zu vermeiden.
Das obige ist der detaillierte Inhalt vonWie liste ich alle Methoden eines Objekts in JavaScript auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!