我使用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, Object]
并且每个这个对象都是可扩展的.但是用'+'我看到输出为
Logging with + [object Object],[object Object],[object Object],[object Object]
为了演示,我创建了这个jsfiddle.
你能帮我理解为什么我们看到这种差异.
小智 7
通过Tushar的回答中的例子,可能更清晰(或冗长)地添加一些内容:
关于连接(不包括console.log()东西)使用+运算符.您使用逗号的原因console.log()是因为函数采用的参数是可变数量的参数.
所以如果你这样做     console.log('a' + 'b'),你会得到    ab
但是,如果你做console.log('a' , 'b')  你a b
现在,如果你做console.log('a' + {a : 'a'})  你
 a[object Object]这是不是很实用,
如果你这样做,console.log('a' , {a : 'a'})你会得到一个a {a: 'a'}    
因此,逗号将对象作为使用该对象的参数传递toString(),这是最好的console.log().
| 归档时间: | 
 | 
| 查看次数: | 7122 次 | 
| 最近记录: |