JavaScript函数语法错误混淆

Ali*_*shi 2 javascript function

我不知道这段代码有什么问题

  var createWorker = function(){
  var task1 = function(){
     console.log("this is job1");
  };
  var task2 = function(){
     console.log("this is job2");
  };

   return
   {
      job1: task1,
      job2: task2
   };
};
var worker = createWorker();
worker.job1();
worker.job2();
Run Code Online (Sandbox Code Playgroud)

这给出了语法错误,但我认为语法是正确的.有人可以帮忙吗?谢谢.

Nin*_*olz 8

undefined由于自动分号插入(ASI),您将返回.

return                            // colon is inserted here
     {                            // never reached
         job1: task1,
         job2: task2
     };
Run Code Online (Sandbox Code Playgroud)

您可以将括号移动到return语句的行中.

return {
         job1: task1,
         job2: task2
     };
Run Code Online (Sandbox Code Playgroud)