Rumah >hujung hadapan web >tutorial js >Mengapa Penapis AngularJS Memerlukan Dua Set Tanda Kurung?

Mengapa Penapis AngularJS Memerlukan Dua Set Tanda Kurung?

DDD
DDDasal
2024-11-13 04:29:02947semak imbas

Why Do AngularJS Filters Require Two Sets of Parentheses?

Memanggil Fungsi Bersarang dalam Penapis AngularJS

Dalam AngularJS, penapis membenarkan pembangun mengubah dan memanipulasi data. Walau bagaimanapun, terdapat keanehan apabila menggunakan penapis: kita perlu memanggilnya dengan dua set kurungan.

Memahami Rantaian Fungsi

Apabila memanggil penapis dalam AngularJS, anda pada asasnya memanggil fungsi yang mengembalikan fungsi lain. Set kurungan pertama memanggil fungsi luar ($penapis), yang kemudiannya mengembalikan fungsi dalam. Set kurungan kedua memanggil fungsi dalam serta-merta.

Sebagai contoh, pertimbangkan kod berikut:

$filter('number')(number[, fractionSize])

Di sini, $filter ialah fungsi luar yang mengembalikan penapis nombor. Argumen nombor dan saiz pecahan dihantar ke penapis nombor. Fungsi dalam kemudian segera dipanggil dengan hasil fungsi luar sebagai argumen.

JavaScript Equivalent

Dalam JavaScript, setara dengan rantai fungsi ini menggunakan nested functions:

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

Dalam contoh ini, fungsi luar tambah mengembalikan fungsi baharu yang mengambil hujah y dan menambah ia kepada nilai x daripada fungsi luar. Fungsi dalaman boleh diberikan kepada pembolehubah (cth., addTwo) atau dipanggil serta-merta dengan argumen (cth., add(3)(4)).

Atas ialah kandungan terperinci Mengapa Penapis AngularJS Memerlukan Dua Set Tanda Kurung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:Laluan Bantu dalam SudutArtikel seterusnya:Laluan Bantu dalam Sudut