为什么我的 forloop + if/else 控制台会记录一个未定义的值

Why does my forloop + if/else console log an undefined value

鉴于以下代码有效,并打印出所有 red 的颜色,为什么它在交互结束时也打印出 undefined 值?

var cars 只是一大堆具有各种属性的汽车对象。

function queryCars(){

  // Your code here
   for (var i = 0; i < cars.length; i++ ){
      if(cars[i].color == "Red") {
        console.log(cars[i].make + " " + cars[i].model)
      }
   }

}

结果:

queryCars();
"Audi A5"
"Audi TT"
"BMW 3"
"BMW X5"
"Hyundai Elantra"
"Acura TLX"
undefined

这个 undefined 不是来自 console.log。这是函数的 return 值,因为函数没有 returning 任何东西。

例如,在repl.it中:

let a
let b
console.log(a + " " + b)

打印:

undefined undefined
=> undefined

并不是说 console.log 会打印 2 undefines 如果它是该循环的一部分。