为什么这个函数什么也不返回?

Why this function return nothing?

本文关键字:返回 什么 函数 为什么      更新时间:2023-09-26

我使用Angular提供程序。当我调用master.parameters()时,我一无所获。为什么?

       masterApp.provider('master',[function() { 
          this.$get = function()
          {
                return {
                    parameters: function() {
                        var data="hai";
                        return
                           data;
                    }
                };
          };
    }]);

Javascript是一门短短几天就写出来的语言,因此它有很多很多的怪癖,从来没有,也可能永远不会被根除,因为担心破坏互联网

其中之一是Javascript宽松,非常非常宽松,要求用分号结束语句——Javascript引擎会"推断"这应该在

所有Javascript引擎似乎都一致同意出错的地方是不起眼的返回语句

,尽管"返回语句后不可访问的代码"错误总是由信誉良好的浏览器在控制台中输出。
return
   'value'

总是被解释为

return;
value;

最常见的问题是返回一个对象,有些人喜欢在自己的行中使用左括号和右括号,因此他们将返回语句写成

return 
{
    key: value,
    key2: value
}
如我们所见,

将被解释为

return;
{
    key: value,
    key2: value
};

在返回语句

后显示关于不可达代码的控制台消息

这就是为什么jshint/jslint你的代码是一个好主意-或者至少看看控制台的错误,像这样

回车后换行是唯一的问题。谢谢@aromandaX