对象转储JavaScript

问题描述 投票:0回答:10

是否有第 3 方插件/应用程序或某种方法可以在 JavaScript 对象的脚本调试器中执行对象映射转储?

情况是这样的......我有一个方法被调用两次,每次都有不同的东西。我不确定有什么不同,但有些东西是不同的。因此,如果我可以将 window (或至少 window.document)的所有属性转储到文本编辑器中,我就可以使用简单的文件差异来比较两个调用之间的状态。想法?

javascript
10个回答
162
投票
console.log("my object: %o", myObj)

否则有时会显示字符串表示形式:

[object Object]

或者类似的。


63
投票

萤火虫 +

console.log(myObjectInstance)


49
投票
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;
}

43
投票

如果您使用的是 Chrome、Firefox 或 IE10 + 为什么不扩展控制台并使用

(function() {
    console.dump = function(object) {
        if (window.JSON && window.JSON.stringify)
            console.log(JSON.stringify(object));
        else
            console.log(object);
    };
})();

简洁的跨浏览器解决方案。


32
投票

只需使用:

console.dir(object);

您将获得一个漂亮的可点击对象表示。适用于 Chrome 和 Firefox


19
投票

为了更好的可读性,您可以将对象转换为 json 字符串,如下所示:

console.log(obj, JSON.stringify(obj));

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify


13
投票

适用于铬/铬

console.log(myObj)

或者是等价的

console.debug(myObj)

6
投票

使用

console.log(object)
会将你的对象扔到Javascript控制台,但这并不总是你想要的。使用
JSON.stringify(object)
将返回要存储在变量中的大部分内容,例如将其发送到文本区域输入并将内容提交回服务器。


0
投票

在 Chrome 中,单击 3 个点,然后单击更多工具,然后单击开发人员。在控制台上,输入 console.dir(yourObject)。Click this link to view an example image


0
投票

就像这里已经发布的一些答案一样,如果有人喜欢将对象转储设置为变量或将其输出到记录器。可以使用

JSON.stringify
NextJs
等中提供的
NodeJS

let output = "Output of object - " + JSON.stringify(objectName);

reject(`Output of object - ${JSON.stringify(objectName) }`);

输出会像这样。

{"key1":"value1","key2":" .....}
© www.soinside.com 2019 - 2024. All rights reserved.