javascript – 为什么使用逗号’,’和加号’以不同的格式记录控制台输出?

前端之家收集整理的这篇文章主要介绍了javascript – 为什么使用逗号’,’和加号’以不同的格式记录控制台输出?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用console.log语句进行调试,但是遇到一个使用’,’或”与console.log语句以不同模式记录输出的情况.例如
(function () {
    var x = [];
    x.push({
        a: 1,b: 2,},{
        a: 4,b: 3,{
        a: 5,b: 6
    },{
        a: 7,b: 8,})
    console.log('Logging with,',x);
    console.log('Logging with + ' + x);
}())

当我使用’,’与console.log我看到输出

Logging with,[Object,Object,Object]

并且每个这个对象都是可扩展的.但是,我看到输出

Logging with + [object Object],[object Object],[object Object]

为了演示,我创造了这个jsfiddle.

你能帮我理解为什么我们看到这个差异.

解决方法

(string concatenation operator)与对象将调用对象上的toString方法,并返回一个字符串.
所以,”对象相当于object.toString().而ToString对象返回“[object Object]”.

随着,该对象作为独立参数传递给log方法.

猜你在找的JavaScript相关文章