我想使用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>
答案 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}}
也可以阅读此documentation page。