Jargon JavaScript 10 Syarat Anda Perlu Tahu
Dari kari kepada penutupan terdapat beberapa jargon JavaScript (kata-kata khas yang digunakan dalam bidang) mengetahui yang bukan sahaja akan membantu anda meningkatkan perbendaharaan kata anda tetapi lebih memahami Javascript. Jargons biasanya dijumpai dalam dokumen dan artikel teknikal. Tetapi ada yang suka penutupan adalah perkara yang agak standard untuk diketahui. Mengetahui maksud perkataan itu sendiri dapat membantu anda mengetahui konsep yang dinamakannya lebih baik.
Jawatan ini adalah penyusunan 10 istilah tersebut dengan makna mereka dan konteks di mana ia digunakan dalam JavaScript. Jika anda seorang pemula maka senarai ini telah mendapat anda dilindungi dengan asas-asas seperti angkat. Pada masa yang sama istilah yang kurang dikenali atau kurang dipahami juga dimasukkan ke dalamnya.
- Arity
- Anonymous
- Penutupan
- Kari
- Hoisting
- Mutasi
- Pragma
- Sentinel
- Vanilla
- Variadik
1. Arity
Arity (dari bahasa Latin) adalah istilah yang digunakan untuk merujuk kepada bilangan argumen atau operan dalam satu fungsi atau operasi. Anda kemungkinan besar akan menemui perkataan ini dalam bidang JavaScript apabila digunakan untuk menyebutnya bilangan hujah yang dijangkakan oleh fungsi JavaScript.
Malah ada harta yang bernama, dari Fungsi
objek yang mengembalikan bilangan hujah yang dijangka dalam fungsi. Kini sudah usang dan digantikan oleh panjang
.
Fungsi berikut mempunyai keadaan 3.
fungsi getName (pertama, tengah, terakhir) kembali terlebih dahulu + "+ tengah +" + terakhir;
2. Anonymous
Anonymous adalah kata sifat. Apabila sesuatu atau seseorang dirujuk sebagai tanpa kata nama ia bermakna nama benda atau orang itu tidak dikenali. Begitu juga JavaScript dalam fungsi anonim adalah yang tidak dikenal pasti oleh nama.
(fungsi () // body) ();
Di atas adalah IIFE (Ekspresi Fungsi Segera Dihadapkan). Fungsi di dalamnya adalah tanpa nama kerana ia tidak mempunyai nama. Sekarang, perhatikan di bawah.
var foo = function () ;
Itu juga dikatakan sebagai fungsi anonim kerana tidak ada nama selepas kata kunci fungsi
.
Sedikit keraguan meningkat dalam ketepatan penggunaan kata itu “tanpa nama”. Dengan IIFE, fungsi itu dipanggil segera, tiada nama yang terlibat sedangkan, untuk memanggil fungsi yang kedua sintaks tersebut foo ()
digunakan.
Ia seperti kami membaptis fungsi tanpa nama dengan nama 'foo' dan memanggilnya menggunakannya. Adakah itu dikira sebagai tanpa nama? Saya tidak tahu, saya akan meninggalkannya kepada pakar bahasa Inggeris. Tetapi, kekeliruan saya mengetepikan, kedua-duanya memang dirujuk sebagai fungsi tanpa nama.
3. Penutupan
Berikut adalah salah satu definisi dari kamus oxford untuk penutupan: “Perkara yang menutup atau mengelak sesuatu, seperti penutup atau tali leher.”
Dalam JavaScript, penutupan adalah fungsi dalaman, yang boleh diakses di luar ruang lingkup fungsi luarnya, dengan sambungannya kepada pembolehubah fungsi luar masih utuh.
Untuk menerangkan perkara (mungkin tidak tepat tetapi hanya cukup), pertimbangkan penutupan sebagai pelayan di sebuah restoran. Banyak perkara berlaku di dalam dapur restoran, di mana kita tidak dibenarkan masuk atau melihat. Tetapi bagaimana kita sepatutnya mendapatkan makanan kita kemudian?
Di sinilah pelayan datang. Kami memanggil mereka, memesan makanan, dan kemudian mereka akan pergi ke dapur, memaklumkan chef pesanan, dan membawanya kepada kami apabila perintah itu siap. Dengan cara ini, kami tidak memecahkan apa-apa “peraturan” dan masih dapat menguruskan makanan.
Pelayan adalah seseorang yang mampu membawa pesanan kami ke dapur dan kembali dengan makanan. JavaScript penutupan sama dengan itu, mereka dapat ambil parameter kami dan membawa balik pembolehubah kami (rujukan kepada pemboleh ubah tersebut, tepat) dari dalam fungsi yang tidak dibenarkan.
perintah fungsi () var makanan; pelayan fungsi (pesanan) chef (pesanan); memulangkan makanan; function chef (order) if (order === 'pasta') food = ['pasta', 'gravy', 'seasoning']; memasak (); berfungsi memasak () food.push ('dimasak'); pelayan balik; var myOrder = order (); console.log (myOrder ('pasta')); // Array ["pasta", "kuah", "perasa", "dimasak"]
Seperti yang anda dapat lihat dari kod di atas, segala-galanya selain pelayan
dan nilai pulangannya dari dalam fungsi pesanan tidak didedahkan kepada dunia luar.
4. Kari
Kesan, dinamakan selepas Kari Haskell, merujuk kepada menggunakan pelbagai fungsi dengan argumen tunggal, sebagai pengganti fungsi tunggal dengan pelbagai argumen. Mari lihat Tambah
berfungsi di bawah sebagai contoh.
fungsi addx (x) function addy (y) return x + y; tambah addy tambah fungsi (x, y) return (x + y); console.log (addx (3) (4)); \\ 7 console.log (tambah (3,4)); \\ 7
Kedua-dua fungsi mengembalikan hasil yang sama. Fungsinya addx
menerima parameter x
semasa pulang addy
yang seterusnya menerima y
nilai, melakukan penambahan dengan x
dan mengembalikan jumlahnya.
Fungsinya Tambah
hanya mengambil kedua-duanya x
dan y
pada masa yang sama, melakukan penambahan dan mengembalikan jumlahnya. Setakat ini fungsi pertama mungkin tidak begitu berguna, sehingga ...
var add4 = addx (4); console.log (add4 (8)); // 12 console.log (add4 (6)); // 10 console.log (add4 (-74)); // - 70
Sekarang, fungsi misteri tiba-tiba menjadi menarik. Dalam kari, anda sentiasa boleh menetapkan satu langkah dalam urutan operasi seperti penambahan 4 dari kod di atas, yang berguna apabila salah satu daripada pembolehubah yang digunakan dalam operasi selalu sama.
5. Hoisting
Hoist bererti menaikkan sesuatu. Hoisting dalam JavaScript juga bermaksud perkara yang sama dan apa yang dibangkitkan adalah perisytiharan (pernyataan variabel & fungsi).
Deklarasi adalah di mana pemboleh ubah dan fungsi dicipta dengan kata kunci var
(bukan untuk global) dan fungsi
.
Tidak kira di mana anda menaip kod untuk mengisytiharkan fungsi atau pembolehubah, semasa penilaian semua pernyataan dipindahkan ke dalam skop tempat mereka tinggal (kecuali dalam mod yang ketat). Oleh itu, adalah mungkin untuk menulis kod kerja dengan kod untuk panggilan fungsi yang diletakkan sebelum perisytiharan fungsi.
var name = 'Velma'; console.log (sayCatchPhrase (nama)); // "Jinkies!" fungsi sayCatchPhrase (nama) phrases = 'Fred Flintstone': 'Yabba dabba doo!', 'Velma': 'Jinkies!', 'Razor': 'Bingo!', 'He-Man' '; kembali frasa [nama];
6. Mutasi
Mutasi bermaksud perubahan atau pengubahsuaian. Sekiranya anda menjumpai mutasi perkataan dalam JavaScript, ia mungkin merujuk kepada perubahan yang berlaku oleh elemen DOM.
Terdapat juga API yang dipanggil MutationObserver untuk mengawasi mutasi DOM seperti penambahan elemen kanak-kanak atau perubahan pada atribut elemen. (Anda boleh membaca lebih lanjut mengenai MutationObserver dalam catatan saya.)
7. Pragma
Pragma adalah pendek untuk maklumat pragmatik. Dalam bahasa Inggeris biasa, pragmatik adalah kata sifat yang bermaksud beralasan dan praktikal. Dalam pengaturcaraan, pragma merujuk kepada kod yang mengandungi maklumat berguna mengenai bagaimana pengkompil atau jurubahasa atau penghimpun harus memproses program.
Ia tidak menyumbang apa-apa kepada bahasa pengaturcaraan itu sendiri dan sintaksnya mungkin berbeza-beza. Mereka hanya menjejaskan tingkah laku pengkompil. JavaScript juga mempunyai beberapa pragmas, salah satunya adalah ketat
.
"gunakan ketat";
Dengan pragma di atas, kod JavaScript akan dilaksanakan dalam mod yang ketat. Dalam mod yang ketat, sintaks yang buruk tidak dibenarkan, angkat tidak dilakukan, ralat diam ditunjukkan, dan lain-lain. Ia membantu dalam menulis kod JavaScript yang lebih selamat dan dioptimumkan.
8. Sentinel
Sentinel adalah askar yang berdiri pengawal (Ingat yang dari X-Men?). Dalam pengaturcaraan, sentinel adalah nilai yang digunakan untuk menandakan akhir gelung atau proses. Mereka juga boleh dipanggil “bendera”.
Anda boleh menggunakan apa-apa nilai yang berpatutan sebagai a sentinel. Berikut adalah contoh sentinel digunakan dalam JavaScript; yang Indeks
kaedah yang mengembalikan -1 (nilai sentinel) apabila nilai carian tidak ditemui dalam rentetan yang disasarkan. Di bawah adalah fungsi yang mengembalikan kedudukan nilai tatasusunan dan jika nilai tidak ditemui, mengembalikan -1.
fungsi getPos (ary, val) var i = 0, len = ary.length; untuk (i9. Vanilla
Saya fikir semua ais krim pertama mesti sudah vanila. Saya juga berfikir bahawa bukan sahaja dalam ais krim, tetapi dalam hampir setiap jenis vanili jenis manis menjadi yang rasa standard. Saya telah melihat sedikit resipi kek di mana mereka menambah sekurang-kurangnya satu setitik ke dalam campuran - hanya untuk meningkatkan rasa.
Dan itulah yang vanila ialah rasa standard tradisional. Vanilla JavaScript dirujuk kepada JavaScript standard - tiada rangka kerja. Vanilla sebenarnya bukan hanya digunakan untuk menggambarkan versi JavaScript standard tetapi juga bahasa lain seperti CSS.
10. Variadik
Variadik adalah kata sifat yang dihasilkan oleh menyertai “pembolehubah” dan “adicity”. “Kecantikan” adalah dari bahasa Yunani kuno, dengan makna yang sama dengan kata Latin “kesedaran” (Perkara 1 dalam senarai ini). Oleh itu, istilah itu variadik digunakan untuk menyatakan sesuatu yang mempunyai bilangan argumen yang berubah-ubah.
Dalam JavaScript, a variadik fungsi mengambil sejumlah argumen. Ia boleh dibuat menggunakan
hujah-hujah
harta,memohon
kaedah dan sejak ES6, pengendali penyebarannya. Berikut adalah contoh menggunakan pengendali penyebaran.fungsi ujian (... a) console.log (a); ujian ('a', 'b', 'c', 8, [56, -89]); // output adalah Array ["a", "b", "c", 8, Array [2]]