为什么代码是比较语句给出错误;

时间:2015-01-06 13:27:05

标签: javascript

function foo() {
   return
   {
      foo: 'bar'
   }
}

function bar() {
   return {
      foo: 'bar'
   }
}

typeof foo() === typeof bar(); //why this is false

我不明白为什么typeof foo()=== typeof bar()returing false

1 个答案:

答案 0 :(得分:3)

由于return之后的换行符,foo()相当于

function foo() {
   return;
   //    ↑ note the semicolon
   {
      foo: 'bar'
   }
}

并返回undefined

另一方面,bar()正在返回一个对象。