javascript - 在 console.log 中打印 Javascript 对象时的不同行为

标签 javascript jquery node.js underscore.js

如果我们对一个对象执行console.log(),我们就会看到它的属性。但是,如果 console.log 包含其他字符串,我们只能得到 [object Object]

问题:为什么不打印出对象的属性?我们如何使用console.log打印出我们的字符串和对象的属性?如果有帮助,可以使用 Underscore.js 和 Node 包。

> myThing = {'name': 'Doge', 'value': 1000}
Object {name: "Doge", value: 1000}

> console.log(myThing)
Object {name: "Doge", value: 1000}

> console.log('Logging: ' + myThing)
Logging: [object Object]

所需输出

Logging: Object {name: "Doge", value: 1000}

最佳答案

--在浏览器中

因为当您使用 console.log('Logging: ' + myThing) 时,它会使用字符串连接,其中对象 myThing 会转换为字符串表示形式 [object Object]

你可以使用

console.log('Logging: ', myThing)

或使用JSON.stringify() - 在现代浏览器中(对于旧浏览器,请使用类似 json2 的库)

console.log('Logging: ' + JSON.stringify(myThing))

关于javascript - 在 console.log 中打印 Javascript 对象时的不同行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21083400/

相关文章:

javascript - 如果我在使用 cors 时添加标准的 http header ,为什么请求会被预检?

javascript - Chrome 中的 CKEditor 输入模式问题

javascript - jQuery Mobile PhoneGap App 在启动时闪烁

javascript - 嵌套解析 promise 之外的空数组

javascript - 如何通过数组检查字符串是否具有匹配的子字符串

javascript - 使用左、右、下、上、主页和结束虚拟按钮的 HTML Texeare 插入符号控件

jquery - 计算单击了多少个单选按钮

javascript - 如何在node.js中访问对象的成员

javascript - 为什么添加分号会使这段代码起作用?

javascript - 使用AJAX读取本地文件