是否有第 3 方插件/应用程序或某种方法可以在 JavaScript 对象的脚本调试器中执行对象映射转储?
情况是这样的......我有一个方法被调用两次,每次都有不同的东西。我不确定有什么不同,但有些东西是不同的。因此,如果我可以将 window (或至少 window.document)的所有属性转储到文本编辑器中,我就可以使用简单的文件差异来比较两个调用之间的状态。想法?
console.log("my object: %o", myObj)
否则有时会显示字符串表示形式:
[object Object]
或者类似的。
萤火虫 +
console.log(myObjectInstance)
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;
}
如果您使用的是 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
为了更好的可读性,您可以将对象转换为 json 字符串,如下所示:
console.log(obj, JSON.stringify(obj));
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify
适用于铬/铬
console.log(myObj)
或者是等价的
console.debug(myObj)
使用
console.log(object)
会将你的对象扔到Javascript控制台,但这并不总是你想要的。使用 JSON.stringify(object)
将返回要存储在变量中的大部分内容,例如将其发送到文本区域输入并将内容提交回服务器。
就像这里已经发布的一些答案一样,如果有人喜欢将对象转储设置为变量或将其输出到记录器。可以使用
JSON.stringify
或 NextJs
等中提供的 NodeJS
。
let output = "Output of object - " + JSON.stringify(objectName);
reject(`Output of object - ${JSON.stringify(objectName) }`);
输出会像这样。
{"key1":"value1","key2":" .....}