Ikhtisar
Underscore.js ialah perpustakaan yang sangat ramping, hanya 4KB yang dimampatkan. Ia menyediakan berpuluh-puluh kaedah pengaturcaraan berfungsi, yang sangat memudahkan pengaturcaraan Javascript. Backbone.js rangka kerja MVC adalah berdasarkan pustaka ini.
Ia mentakrifkan objek garis bawah (_) dan semua kaedah pustaka fungsi tergolong dalam objek ini. Kaedah ini boleh dibahagikan secara kasar kepada lima kategori: koleksi, tatasusunan, fungsi, objek dan utiliti.
Pasang di bawah node.js
Underscore.js boleh digunakan bukan sahaja dalam persekitaran penyemak imbas, tetapi juga dalam node.js. Arahan pemasangan adalah seperti berikut:
Kaedah yang berkaitan dengan koleksi
Pengumpulan data bahasa Javascript merangkumi dua struktur: tatasusunan dan objek. Kaedah berikut digunakan untuk kedua-dua struktur.
peta
Kaedah ini melakukan beberapa operasi pada setiap ahli koleksi secara bergilir-gilir dan menyimpan nilai yang dikembalikan dalam tatasusunan baharu.
setiap satu
Kaedah ini serupa dengan peta, yang melakukan beberapa operasi pada setiap ahli koleksi secara bergilir-gilir, tetapi tidak mengembalikan nilai.
kurangkan
Kaedah ini melakukan beberapa jenis operasi pada setiap ahli set secara bergilir-gilir, dan kemudian mengumpulkan hasil operasi pada nilai awal tertentu Selepas semua operasi selesai, nilai terkumpul dikembalikan.
Kaedah ini menerima tiga parameter. Parameter pertama ialah pengumpulan yang sedang diproses, parameter kedua ialah fungsi yang beroperasi pada setiap ahli, dan parameter ketiga ialah pembolehubah yang digunakan untuk pengumpulan.
_.reduce([1, 2, 3], function(memo, num){ kembalikan memo num; }, 0); // 6
Parameter kedua kaedah pengurangan ialah fungsi operasi, yang dengan sendirinya menerima dua parameter Yang pertama ialah pembolehubah yang digunakan untuk pengumpulan, dan yang kedua ialah nilai setiap ahli set.
tapis dan tolak
Kaedah penapis melakukan beberapa operasi pada setiap ahli koleksi secara bergilir-gilir dan hanya mengembalikan ahli yang hasil operasinya adalah benar.
setiap dan beberapa
Setiap kaedah melakukan beberapa operasi pada setiap ahli koleksi secara bergilir-gilir Jika keputusan operasi semua ahli adalah benar, ia akan kembali benar, jika tidak ia akan mengembalikan palsu.
cari
Kaedah ini melakukan beberapa operasi pada setiap ahli koleksi secara bergilir-gilir dan mengembalikan ahli pertama yang hasil operasinya adalah benar. Jika keputusan operasi semua ahli adalah palsu, undefined dikembalikan.
mengandungi
Jika nilai ada dalam koleksi, kaedah ini mengembalikan benar, jika tidak ia mengembalikan palsu.
countBy
Kaedah ini melakukan beberapa jenis operasi pada setiap ahli set secara bergilir-gilir, mengira ahli dengan hasil operasi yang sama seperti satu kategori, dan akhirnya mengembalikan objek yang menunjukkan bilangan ahli yang sepadan dengan setiap hasil operasi.
kocok
Kaedah ini mengembalikan koleksi yang dikocok.
saiz
Kaedah ini mengembalikan bilangan ahli koleksi.
Kaedah yang berkaitan dengan objek
toArray
Kaedah ini menukar objek kepada tatasusunan.
petik
Kaedah ini mengekstrak nilai atribut tertentu berbilang objek ke dalam tatasusunan.
Kaedah yang berkaitan dengan fungsi
ikat
Kaedah ini mengikat konteks masa jalan fungsi dan mengembalikannya sebagai fungsi baharu.
ikatSemua
Kaedah ini mengikat semua kaedah objek (kecuali dinyatakan secara khusus) kepada objek.
separa
Pengikatan kaedah ini mengikat fungsi pada parameter dan kemudian mengembalikannya sebagai fungsi baharu.
menghafal
Kaedah ini menyimpan cache hasil larian fungsi untuk parameter tertentu.
kelewatan
Kaedah ini boleh menangguhkan fungsi untuk dijalankan untuk masa yang ditentukan.
Kaedah ini boleh menangguhkan menjalankan fungsi sehingga bilangan tugasan yang perlu dijalankan mencapai 0, sama seperti kesan penangguhan setTimeout berjalan selama 0 saat.
Kaedah ini mengembalikan versi baharu fungsi. Apabila memanggil versi baharu fungsi ini secara berterusan, anda mesti menunggu untuk tempoh masa tertentu sebelum mencetuskan pelaksanaan seterusnya.
Kaedah ini juga mengembalikan versi baharu fungsi. Setiap kali versi baharu fungsi ini dipanggil, mesti ada masa tertentu antara panggilan sebelumnya, jika tidak, ia akan menjadi tidak sah. Aplikasi tipikalnya adalah untuk menghalang pengguna daripada mengklik dua kali butang, menyebabkan borang diserahkan dua kali.
Kaedah ini mengembalikan versi baharu fungsi supaya fungsi ini hanya boleh dijalankan sekali. Terutamanya digunakan untuk permulaan objek.
Kaedah ini mengembalikan versi baharu fungsi Fungsi ini hanya akan dijalankan selepas beberapa kali dipanggil.
Kaedah ini mengambil fungsi sebagai parameter, menghantarnya ke fungsi lain, dan akhirnya mengembalikan versi baharu yang terdahulu.
karang
Kaedah ini menerima satu siri fungsi sebagai parameter dan menjalankannya mengikut urutan dari belakang ke hadapan Hasil larian fungsi sebelumnya digunakan sebagai parameter larian bagi fungsi seterusnya. Dengan kata lain, tukarkan bentuk f(g(),h()) kepada f(g(h())).
Kaedah alat
templat
Kaedah ini digunakan untuk menyusun templat HTML. Ia menerima tiga parameter.
templateString: rentetan templat
data: masukkan data templat
tetapan: tetapan
templateString
Templat rentetan templat ialah bahasa HTML biasa, di mana pembolehubah disisipkan dalam bentuk <%= ... %>; objek data bertanggungjawab untuk menyediakan nilai pembolehubah.
<%= perkataan %>
Arahan JavaScript boleh disisipkan dalam bentuk <% … %>. Berikut adalah contoh pernyataan penghakiman.
data
Semua pembolehubah dalam templateString adalah atribut dalaman bagi objek obj dan objek obj merujuk kepada objek data parameter kedua. Dua pernyataan berikut adalah setara.