debugging 如何在Chrome控制台中显示完整对象

sc4hvdpw  于 2022-11-14  发布在  其他
关注(0)|答案(9)|浏览(397)
var functor=function(){
    //test
}

functor.prop=1;

console.log(functor);

这只显示函子的函数部分,无法在控制台中显示函子的属性。

nbnkbykc

nbnkbykc1#

使用console.dir()输出一个可浏览的对象,您可以单击该对象而不是.toString()版本,如下所示:

console.dir(functor);

打印指定对象的JavaScript表示。如果记录的对象是HTML元素,则打印其DOM表示的属性[1]
[1] https://developers.google.com/web/tools/chrome-devtools/debug/console/console-reference#dir

3htmauhk

3htmauhk2#

如果您尝试以下操作,可能会获得更好的结果:

console.log(JSON.stringify(functor));
bwleehnv

bwleehnv3#

如果您尝试以下操作,可能会获得更好的结果:

console.log(JSON.stringify(obj, null, 4));
tkqqtvp1

tkqqtvp14#

var gandalf = {
  "real name": "Gandalf",
  "age (est)": 11000,
  "race": "Maia",
  "haveRetirementPlan": true,
  "aliases": [
    "Greyhame",
    "Stormcrow",
    "Mithrandir",
    "Gandalf the Grey",
    "Gandalf the White"
  ]
};
//to console log object, we cannot use console.log("Object gandalf: " + gandalf);
console.log("Object gandalf: ");
//this will show object gandalf ONLY in Google Chrome NOT in IE
console.log(gandalf);
//this will show object gandalf IN ALL BROWSERS!
console.log(JSON.stringify(gandalf));
//this will show object gandalf IN ALL BROWSERS! with beautiful indent
console.log(JSON.stringify(gandalf, null, 4));
b4qexyjb

b4qexyjb5#

这对我来说非常有效:

for(a in array)console.log(array[a])

您可以提取在控制台中创建的任何数组,用于查找/替换清除和此提取数据的后续使用

mwkjh3gx

mwkjh3gx6#

我用三叉戟做了一个函数的回答。

function print(obj) {
  console.log(JSON.stringify(obj, null, 4));
}

如何使用

print(obj);
wnrlj8wa

wnrlj8wa7#

我写了一个函数,可以方便地将内容打印到控制台。

// function for debugging stuff
function print(...x) {
    console.log(JSON.stringify(x,null,4));
}

// how to call it
let obj = { a: 1, b: [2,3] };
print('hello',123,obj);

将在控制台中输出:

[
    "hello",
    123,
    {
        "a": 1,
        "b": [
            2,
            3
        ]
    }
]
vpfxa7rd

vpfxa7rd8#

在现代浏览器中,console.log(functor)可以完美地工作(表现与console.dir相同)。

watbbzwu

watbbzwu9#

另一种方法是将函数 Package 到数组中:

console.log( [functor] );

相关问题