为什么函数分配给Angular中的变量

时间:2015-06-07 23:13:19

标签: javascript angularjs

关于语法的简单问题。在Angular中,我看到控制器内的函数是这样创建的:

this.multiply = function multiply(a, b) {
    return a * b; 
}

我有点抛出,因为函数被赋予了一个名称,并且还赋值给了一个变量。所以我的问题是为什么函数分配给Angular中的变量?这会影响范围吗?

2 个答案:

答案 0 :(得分:2)

这是标准的JavaScript,称为Named function Expression

通过使用this,您可以在控制器上定义它。如果在视图中使用controlleras语法或在定义路径时使用此类函数以及this上定义的任何属性。

早期版本的Angular仅使用$scope,所有内容都必须在$scope上定义。

现在控制器本身在作用域上实例化,具体取决于controlleras

中的控制器名称别名

答案 1 :(得分:1)

它没有将它分配给变量。它使用this将其分配给控制器的实例;所以谁拥有控制器的实例就可以调用它。