首頁 > web前端 > js教程 > 主體

為什麼 AngularJS 過濾器需要兩組括號?

DDD
發布: 2024-11-13 04:29:02
原創
850 人瀏覽過

Why Do AngularJS Filters Require Two Sets of Parentheses?

在 AngularJS 過濾器中呼叫巢狀函數

在 AngularJS 中,過濾器允許開發人員轉換和操作資料。然而,使用過濾器時有一個特殊之處:我們需要用兩組括號來呼叫它們。

理解函數鏈

在 AngularJS 中呼叫過濾器時,你本質上是調用一個返回另一個函數的函數。第一組括號呼叫外部函數 ($filter),然後傳回內部函數。第二組括號立即呼叫內部函數。

例如,考慮以下程式碼:

$filter('number')(number[, fractionSize])
登入後複製

這裡, $filter 是傳回數位過濾器的外部函數。 number 和fractionSize 參數被傳遞到​​數字過濾器。然後立即呼叫內部函數,並以外部函數的結果作為參數。

JavaScript 等效項

在JavaScript 中,此函數鏈的等效項是使用巢狀函數:

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
登入後複製

在此在範例中,外部函數add 傳回一個新函數,該函數接受參數y 並將其與值x 相加外部函數。內部函數可以指派給變數(例如 addTwo)或使用參數立即呼叫(例如 add(3)(4))。

以上是為什麼 AngularJS 過濾器需要兩組括號?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板