在AngularJS上编写什么样的代码?

在AngularJS上编写什么样的代码?,angularjs,Angularjs,我正在阅读$http的angularjs源代码,我想:WTF 请看这一行: 在返回承诺之后定义transformResponse函数有什么意义?它永远不会被执行,对吗?在该文件中,我还找到了angularjs团队在返回语句后继续添加代码的另一个地方 这里有什么魔法在施展吗?或者我很兴奋?长话短说,如果你没有时间阅读Caleboyd的链接,你可以这样做,因为 function transformResponse(response) {...} 是一个被提升的函数声明 它的工作原理与它的工

我正在阅读$http的angularjs源代码,我想:WTF

请看这一行:

返回承诺之后定义transformResponse函数有什么意义?它永远不会被执行,对吗?在该文件中,我还找到了angularjs团队在返回语句后继续添加代码的另一个地方


这里有什么魔法在施展吗?或者我很兴奋?

长话短说,如果你没有时间阅读Caleboyd的链接,你可以这样做,因为

    function transformResponse(response) {...}
是一个被提升的函数声明

它的工作原理与它的工作原理完全相同:

    mySuperSweetFunction(); // will return 'hi there'

    function mySuperSweetFunction() { return 'hi there!' }
但是,如果您这样做:

    mySuperSweetFunction(); // will throw exception.

    var mySuperSweetFunction = function() {return 'hi there'}
这是行不通的,因为尽管你在声明一个函数,你也在给一个变量赋值。在这种情况下,你打电话的顺序很重要

    mySuperSweetFunction(); // will throw exception.

    var mySuperSweetFunction = function() {return 'hi there'}