如何记录/调试对象属性,忽略方法/函数混乱

时间:2013-12-11 14:56:15

标签: javascript debugging properties console

我想使用Chrome的开发控制台来跟踪对象的属性,但是对于有很多方法的对象,浏览所有函数引用会很痛苦。是否有一种很好的方法来调试对象而不显示其相关的方法/功能?我一直在玩下面的代码,复制对象和剥离函数引用,但我不能让它工作......谢谢!

<script src='https://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.js' type='text/javascript'></script>
<script>
function plog(obj){
    var key;
    var clone = jQuery.extend(true, {}, obj);
    for (key in obj){
        if(typeof(obj.key) == "function") {
            delete clone[key];
        }
    }
    console.log(clone);
}
</script>
<a href="#" onclick="plog(window);">Click Here</a>

1 个答案:

答案 0 :(得分:0)

要获取属性值,您应该使用obj[key] for-in内的key索引访问,因为String var getProperties = function(obj) { var propsCopy, i; propsCopy = {}; for(i in obj) { if(typeof(obj[i]) !== 'function') { propsCopy[i] = obj[i]; } } return propsCopy; }; var obj = { x: 1, y: 2, fn: function(x) { return x * x; } }; console.log(obj); console.log(getProperties(obj)); 是属性名称的{{1}}。

{{1}}

DEMO

也可以阅读此documentation page

enter image description here