为什么这些相同的(空格除外)javaScript函数返回不同的结果

时间:2018-08-20 09:28:28

标签: javascript

我尝试使用这种简单的freecodecamp.org exercise,但遇到了我的解决方案问题。

我无法解决的是为什么这两个函数返回不同的结果:

await

在node.exe v10.8.0上运行此命令的结果 results of execution

第二个函数为什么返回未定义。

1 个答案:

答案 0 :(得分:2)

您得到undefined,因为return之后有一个新行,因此它从undefined函数返回doesNotWork。将其放在同一行中即可使用:

let someArray = {
  Person: {
    age: 27,
    online: true
  }
};

function works(obj) {
  return ('Person' in obj);
}

console.log("works returns:" + works(someArray));

function doesNotWork(obj) {
  //should be in a same line
  return ('Person' in obj);
}

console.log("doesNotWork returns:" + doesNotWork(someArray));