为什么typeof执行的函数返回未定义

Had*_*asi 0 javascript

我已经在JS测试中看到了这一点:

function aaa() {
   return
   {
       test: 1
   };
}
alert(typeof aaa());   
Run Code Online (Sandbox Code Playgroud)

请向我解释为什么警报消息未定义?
我认为应该是对象。

Dar*_*rov 7

那是因为你什么也没退。尝试以下方法:

function aaa() {
   return {
       test: 1
   };
}
Run Code Online (Sandbox Code Playgroud)

现在将其与您的代码进行比较:

function aaa() {
   return 
   {
       test: 1
   };
}
Run Code Online (Sandbox Code Playgroud)

请非常小心地注意我放置开口的位置{。它与return语句在同一行。在您的示例中,开头处在{新行上,该行从未执行过,因为您在上一行中未返回任何内容。