是否有第三方插件/应用程序或某种方法可以在脚本调试器中为JavaScript对象执行对象映射转储?
这是一种情况...我有两次被调用的方法,每次都不同。我不确定有什么不同,但是有什么不同。因此,如果我可以将window(或至少window.document)的所有属性转储到文本编辑器中,则可以使用简单的文件diff比较两个调用之间的状态。有什么想法吗?
Answers:
萤火虫 +console.log(myObjectInstance)
[object Object]。不太有用
console.log("my object: %o", myObj)
否则,您最终将得到有时显示的字符串表示形式:
[object Object]
或类似的东西。
my object: %o。不太有用:)
function mydump(arr,level) {
var dumped_text = "";
if(!level) level = 0;
var level_padding = "";
for(var j=0;j<level+1;j++) level_padding += " ";
if(typeof(arr) == 'object') {
for(var item in arr) {
var value = arr[item];
if(typeof(value) == 'object') {
dumped_text += level_padding + "'" + item + "' ...\n";
dumped_text += mydump(value,level+1);
} else {
dumped_text += level_padding + "'" + item + "' => \"" + value + "\"\n";
}
}
} else {
dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
}
return dumped_text;
}
if (level > 10) return level_padding + '<< too deep >>';
如果您使用的是Chrome,Firefox或IE10 +,为什么不扩展控制台并使用
(function() {
console.dump = function(object) {
if (window.JSON && window.JSON.stringify)
console.log(JSON.stringify(object));
else
console.log(object);
};
})();
一个简洁的跨浏览器解决方案。
只需使用:
console.dir(object);
您将获得一个不错的可点击对象表示形式。适用于Chrome和Firefox
console.dir({bar:"foo"}); 对象是否覆盖toString方法?
为了提高可读性,可以将对象转换为json字符串,如下所示:
console.log(obj, JSON.stringify(obj));
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
在Chrome中,点击3个点,然后点击更多工具,然后点击开发者。在控制台上,键入console.dir(yourObject)。单击此链接查看示例图像