2013-03-06 10 views
6

È possibile utilizzare la console per visualizzare i metodi disponibili su un oggetto JS?Utilizzare la console per vedere i metodi disponibili su un oggetto?

sto pensando a qualcosa di simile:

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

La seconda volta che ho tipo myArray, mi piacerebbe vedere il fatto che il metodo logme() è ora disponibile.

Desidero conoscere la risposta per esplorare più facilmente oggetti JS non familiari.

+0

Se ti riferisci alla console di Chrome, allora si può semplicemente digitare 'myArray. '(con il punto) questo rivelerà' logme' insieme a tutti gli altri metodi di array – juco

+0

Dai un'occhiata a questo q/a. http://stackoverflow.com/questions/5523747/equivalent-of-pythons-dir-in-javascript – Paolo

+0

@juco - è fantastico, grazie. Suppongo che tu non conosca alcun modo per vedere solo i metodi del prototipo non-Array, comunque? – Richard

risposta

1

Se siete in Chrome e si potrebbe usare qualcosa come il seguente (abbastanza grezzo) e verificate per se una proprietà è un function:

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

Poi basta chiamare come segue:

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