AngularJs "return" 后的括号

AngularJs bracket after "return"

为什么 angular 指令在 return 下的括号后不起作用?

app.directive("alert", function () {
  return 
  {
     restrict: "EA",
      template: "<div>Alert!!</div>"
  };
});

但是当括号与 return:

相邻时确实有效
app.directive("alert", function () {
  return {
     restrict: "EA",
      template: "<div>Alert!!</div>"
  };
});

因为当你只有 return 时被认为是 return 什么都没有 undefined(什么都没有)。您必须 return 位于同一行的内容,否则与 return;

相同

& 当你把它放在同一行时,它认为你从指令 returned object(DDO)。

那是因为JavaScript会将return作为一个单独的操作,这是因为return本身就是一个有效的操作。

第一个例子与

相同
app.directive("alert", function () {
  return;
  {
     restrict: "EA",
      template: "<div>Alert!!</div>"
  };
});

这是javascript中自动插入逗号的经典案例。

当您将括号移动到下一个 like 时,编译器会在您的行尾随意插入一个分号,以为您忘记了它。

app.directive("alert", function () {
  return ;
  {
     restrict: "EA",
      template: "<div>Alert!!</div>"
  };
});