有什么方法可以使用控制台查看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]
我第二次输入myArray
时,我希望看到logme()
方法现在可用。
我想知道答案,以便更轻松地探索不熟悉的JS对象。
答案 0 :(得分:7)
您可以使用
console.dir(myArray);
您将获得这样的可扩展/可检查的显示,包括自定义属性和原型对象:
(来自https://stackoverflow.com/a/14537759/1048572,另见What's the difference between console.dir and console.log?)
答案 1 :(得分: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']