如果我们对一个对象执行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/