javascript - javascript 中的 return 语句出错

标签 javascript

我的 javascript 代码无法正常工作。

function myfun()
   {
       return
       {
       alert("para"); 
       } 
   };

   myfun();

我已经阅读了有关 javascript 的自动分号插入的内容。我将上面的代码更正为

return{
       alert("para"); 
       } 

但仍然出现错误:unexpected token (. 我想知道为什么?

注意:我不需要解决方案,但我需要解释为什么上面的代码不起作用。

编辑

根据这本书,javascript 好的部分,如果返回值,return 语句必须与 return 表达式在同一行。

 return {
status: true
};

 return
{
status: true
};

错了,那怎么会

function myfun(para)
   {
     var status; 

       return
       {
          status : alert(para)
       };
   };


  myfun("ok");

不产生错误。它不会工作,但也不会显示错误。当 { 与 return 在同一行时它会工作。

 function myfun(para)
   {
     var status; 

       return{
          status : alert(para)
       };
   };

   myfun("ok");

最佳答案

return {
   alert("para"); 
} 

{...} 被解释为 object literal .对象文字具有以下形式

{
    key: value,
    //...
}

对象文字不能包含任意语句。

关于javascript - javascript 中的 return 语句出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28272580/

相关文章:

javascript - 代码片段 : Where do I keep them?

javascript - document.createElements 抛出 InvalidCaracterError 异常

javascript - 一个合理的请求 : Iframes in IE that indicate loading progress?

javascript - 回复评论 YouTube 风格

javascript - 带有 JavaScript 的原型(prototype)继承链

javascript - 使用 Javascript 命名空间/单例不会接受传递给成员方法的参数

javascript - 使用正则表达式格式化输入

javascript - 循环嵌套对象React

javascript - 确定 DIV 中的文本为粗体

javascript - 根据子事件查找父元素