Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/470.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当在JavaScript中使用AngularJS过滤器服务时,为什么这些参数在闭合括号中是它们自己的呢?_Javascript_Angularjs - Fatal编程技术网

当在JavaScript中使用AngularJS过滤器服务时,为什么这些参数在闭合括号中是它们自己的呢?

当在JavaScript中使用AngularJS过滤器服务时,为什么这些参数在闭合括号中是它们自己的呢?,javascript,angularjs,Javascript,Angularjs,我习惯于看到参数在一组括号内传递给函数。我已经习惯了从C#开始学习JavaScript 以下是一个例子: functionName(parameter1, parameter2, parameter3) { code to be executed } 但是我遇到了这个AngularJS示例,其中使用JavaScript代码中的过滤器是通过在括号中传递参数来完成的 $scope.filteredText = $filter('uppercase')($scope.originalText

我习惯于看到参数在一组括号内传递给函数。我已经习惯了从C#开始学习JavaScript

以下是一个例子:

functionName(parameter1, parameter2, parameter3) {
    code to be executed
}
但是我遇到了这个AngularJS示例,其中使用JavaScript代码中的过滤器是通过在括号中传递参数来完成的

$scope.filteredText = $filter('uppercase')($scope.originalText);
我希望将参数传递为:

$scope.filteredText = $filter('uppercase', $scope.originalText);
为什么它在自己的括号中传递?这是什么语法?它是JavaScript还是特定于AngularJS?

($scope.originalText)
不是
$filter
函数的第二个参数

$filter('uppercase')
函数,您正在将
$scope.originalText
作为参数传递给此返回函数。这只是以下内容的简化版本:

var f = $filter('uppercase');
f($scope.originalText);
$filter('uppercase')
返回一个函数,然后使用参数
$scope.originalText