JavaScript函数调用返回未定义,为什么?

时间:2019-09-10 07:57:09

标签: javascript

您好,具有以下JavaScript函数。当我调用它时,它返回undefined。我希望它返回一个对象。为什么返回undefined

function someFunction() {
    return
    {
      name: 'Mary'
    };
  }

例如:

fold

谢谢

2 个答案:

答案 0 :(得分:3)

Automatic Semicolon Insertion

  

return语句受自动分号插入(ASI)的影响。 return关键字和表达式之间不允许使用行终止符。

在JavaScript return中,后面没有任何内容(在同一行中)的值为return;

function someFunction() {
  console.log('function called');
  return{
    name: 'Mary'
  };
}

var o = someFunction();
console.log(o);

答案 1 :(得分:3)

在javascript中,;是可选的。

因此,您的浏览器将这样解释您的代码:

function someFunction() {
    return;   // It adds automatically a semi colon here
    {
      name: 'Mary'
    };
  }

因此,如果您希望它能够正常工作,则需要这样做

function someFunction() {
    return{
      name: 'Mary'
    };
  }