为什么输出未定义?

Dar*_*mar 0 javascript undefined

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

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

Ben*_*ley 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());
Run Code Online (Sandbox Code Playgroud)

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

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