Maison >interface Web >js tutoriel >Pourquoi les filtres AngularJS nécessitent-ils deux jeux de parenthèses ?
Appel de fonctions imbriquées dans les filtres AngularJS
Dans AngularJS, les filtres permettent aux développeurs de transformer et de manipuler des données. Cependant, il y a une particularité lors de l'utilisation de filtres : nous devons les appeler avec deux jeux de parenthèses.
Comprendre la chaîne de fonctions
Lors de l'appel d'un filtre dans AngularJS, vous appellent essentiellement une fonction qui renvoie une autre fonction. Le premier ensemble de parenthèses appelle la fonction externe ($filter), qui renvoie ensuite une fonction interne. Le deuxième ensemble de parenthèses appelle immédiatement la fonction interne.
Par exemple, considérons le code suivant :
$filter('number')(number[, fractionSize])
Ici, $filter est la fonction externe qui renvoie le filtre numérique. Les arguments number et fractionSize sont transmis au filtre numérique. La fonction interne est alors immédiatement appelée avec le résultat de la fonction externe comme argument.
Équivalent JavaScript
En JavaScript, l'équivalent de cette chaîne de fonctions utilise des fonctions :
function add(x){ return function(y){ return x + y; }; } var addTwo = add(2); console.log(addTwo(4) === 6); // true console.log(add(3)(4) === 7); // true
Dans cet exemple, la fonction externe add renvoie une nouvelle fonction qui prend un argument y et l'ajoute à la valeur x de la fonction externe. La fonction interne peut être affectée à une variable (par exemple, addTwo) ou appelée immédiatement avec un argument (par exemple, add(3)(4)).
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!