你能详细说明我的代码中发生了什么吗?为什么它未定义?
let room = {
width: '100',
height: '200',
findTemp: function() {
console.log("temp is 28");
}
}
var newRoom = room.findTemp;
console.log(newRoom());

答案 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();