为什么输出未定义?

时间:2018-01-25 19:49:46

标签: javascript undefined

你能详细说明我的代码中发生了什么吗?为什么它未定义?



let room = {
  width: '100',
  height: '200',
  findTemp: function() {
    console.log("temp is 28");
  }
}
var newRoom = room.findTemp;
console.log(newRoom());




1 个答案:

答案 0 :(得分:6)

您实际上并未从函数返回任何内容,因此函数返回的值将为undefined。因此,当您运行console.log()时,它将显示的内容。您也不需要记录两次。要解决此问题,您可以从函数定义中删除console.log(),然后只返回字符串:

let room = {
  width: '100',
  height: '200',
  findTemp: function() {
    return "temp is 28";
  }
}
let newRoom = room.findTemp;
console.log(newRoom());

或者,您可以调用该函数:

let room = {
  width: '100',
  height: '200',
  findTemp: function() {
    console.log("temp is 28");
  }
}
let newRoom = room.findTemp;
newRoom();