2013-03-06 1 views
6

Gibt es eine Möglichkeit, die Konsole zu verwenden, um die verfügbaren Methoden für ein JS-Objekt anzuzeigen?Verwenden Sie die Konsole, um verfügbare Methoden für ein Objekt anzuzeigen?

Ich denke an so etwas wie diese:

> var myArray = [1,2,3]; 
    undefined 
> myArray 
    [1, 2, 3] 
> myArray.logme = function() { console.log(this); }; 
    function() { console.log(this); } 
> myArray 
    [1, 2, 3] 

Das zweite Mal, dass ich geben myArray, würde Ich mag die Tatsache sehen, dass die logme() Methode ist jetzt verfügbar.

Ich möchte die Antwort kennen, um unbekannte JS-Objekte einfacher zu erkunden.

+0

Wenn Sie Chrome-Konsole sich beziehen, dann könnten Sie geben Sie einfach 'arr. '(mit dem Punkt) dies wird" logme "zusammen mit allen anderen Array-Methoden offenbaren – juco

+0

Werfen Sie einen Blick auf diese q/a. http://StackOverflow.com/Questions/5523747/Equivalent-of-pythons-dir-in-Javascript – Paolo

+0

@juco - das ist cool, danke. Ich nehme an, dass Sie keine Möglichkeit kennen, nur die Nicht-Array-Prototyp-Methoden zu sehen? – Richard

Antwort

1

Wenn Sie in Chrome und man könnte so etwas wie die folgenden (ziemlich roh) verwenden überprüfen, ob eine Eigenschaft a function:

function showMethods(obj) { 
    console.log(Object.keys(obj).filter(function(prop) { 
     return typeof el[prop] == 'function'; 
    })); 
} 

Dann rufen Sie einfach es wie folgt:

showMethods({a: 1, b: 2, c: function() {}}) // ['c'] 
showMethods({a: 1, b: 2}) // [] 
showMethods({a: 1, b: function() {}, c: function() {}}) // ['b', 'c'] 
Verwandte Themen