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