Home > Web Front-end > JS Tutorial > Why Do AngularJS Filters Require Two Sets of Parentheses?

Why Do AngularJS Filters Require Two Sets of Parentheses?

DDD
Release: 2024-11-13 04:29:02
Original
918 people have browsed it

Why Do AngularJS Filters Require Two Sets of Parentheses?

Calling Nested Functions in AngularJS Filters

In AngularJS, filters allow developers to transform and manipulate data. However, there's a peculiarity when using filters: we need to call them with two sets of parentheses.

Understanding the Function Chain

When calling a filter in AngularJS, you are essentially calling a function that returns another function. The first set of parentheses calls the outer function ($filter), which then returns an inner function. The second set of parentheses calls the inner function immediately.

For instance, consider the following code:

Here, $filter is the outer function that returns the number filter. The number and fractionSize arguments are passed to the number filter. The inner function is then immediately called with the result of the outer function as the argument.

JavaScript Equivalent

In JavaScript, the equivalent of this function chain is using nested functions:

In this example, the outer function add returns a new function that takes an argument y and adds it to the value x from the outer function. The inner function can be assigned to a variable (e.g., addTwo) or called immediately with an argument (e.g., add(3)(4)).

The above is the detailed content of Why Do AngularJS Filters Require Two Sets of Parentheses?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template