6

コンソールを使用して、JS オブジェクトで使用可能なメソッドを確認する方法はありますか?

私はこのようなことを考えています:

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

を 2 回目に入力したときにmyArray、メソッドが使用可能になったことを確認したいと思いlogme()ます。

なじみのない JS オブジェクトをより簡単に探索するために、答えを知りたいです。

4

2 に答える 2

8

使用できます

console.dir(myArray);

カスタム プロパティとプロトタイプ オブジェクトを含む、次のような展開可能/検査可能な表示が得られます。

( https://stackoverflow.com/a/14537759/1048572から、 console.dir と console.log の違いは何ですか?も参照)

于 2013-03-06T17:00:18.323 に答える
1

Chromeを使用していて、次のようなものを使用できる場合(かなり粗雑)、プロパティがfunction:であるかどうかを確認します。

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

次に、次のように呼び出します。

showMethods({a: 1, b: 2, c: function () {}}) // ['c']
showMethods({a: 1, b: 2}) // []
showMethods({a: 1, b: function() {}, c: function () {}}) // ['b', 'c']
于 2013-03-06T14:30:32.913 に答える