Apakah pengaturcaraan berfungsi? JS Roundup konsep teras
Pengaturcaraan fungsional dalam JavaScript menekankan kod yang bersih dan boleh diramal melalui konsep teras. 1. Fungsi tulen secara konsisten mengembalikan output yang sama tanpa kesan sampingan, meningkatkan kebolehlaksanaan dan kebolehprediksi. 2. Ketidakhadiran mengelakkan pengubahsuaian data dengan membuat salinan data baru, mengurangkan pepijat dan membantu penjejakan keadaan. 3. Fungsi pesanan yang lebih tinggi merawat fungsi sebagai nilai, membolehkan kaedah ekspresif seperti .map () dan .filter (). 4. Gaya deklaratif memberi tumpuan kepada niat dan bukannya pelaksanaan langkah demi langkah, meningkatkan kebolehbacaan dan mengurangkan boilerplate. Memohon prinsip -prinsip ini membawa kepada kod yang lebih jelas dan lebih mudah dipelihara.
Pengaturcaraan Fungsian (FP) adalah paradigma pengaturcaraan yang merawat pengiraan sebagai penilaian fungsi matematik dan mengelakkan perubahan data keadaan dan berubah. Dalam JavaScript, pengaturcaraan berfungsi tidak dikuatkuasakan-ia adalah pelbagai paradigma-tetapi anda boleh menggunakan idea terasnya untuk menulis kod yang lebih bersih dan lebih diramalkan.

Berikut adalah pecahan praktikal konsep utama dalam pengaturcaraan berfungsi menggunakan contoh JavaScript.

Fungsi Murni: Blok Bangunan
Fungsi tulen sentiasa mengembalikan output yang sama untuk input yang sama dan tidak mempunyai kesan sampingan. Ini bermakna ia tidak mengubah suai pembolehubah luaran, membuat panggilan API, atau menukar DOM.
// tulen fungsi tambah (a, b) { kembali AB; } // tidak suci biarkan total = 0; fungsi addTototal (nilai) { total = nilai; }
Menggunakan fungsi tulen menjadikan kod anda lebih mudah untuk diuji, debug, dan alasan. Ia juga bermain dengan baik dengan memoisasi dan pemprosesan selari.

Petua untuk menulis fungsi tulen:
- Elakkan bergantung atau mengubahsuai pembolehubah luaran.
- Jangan gunakan nilai rawak atau masa semasa di dalamnya.
- Kembalikan nilai -nilai baru dan bukannya bermutasi yang sedia ada.
Ketidakhadiran: Simpan data yang tidak disentuh
Ketidakhadiran bermakna tidak mengubah data selepas ia dibuat. Daripada mengubah suai array atau objek yang sedia ada, anda membuat yang baru berdasarkan asal.
nombor const = [1, 2, 3]; const NewNumbers = [... nombor, 4]; // array baru, asal tidak berubah
Di JS, jenis primitif seperti rentetan dan nombor tidak berubah secara lalai, tetapi objek dan tatasusunan tidak. Jadi anda perlu berhati -hati apabila bekerja dengan mereka.
Mengapa perkara tidak berubah:
- Mengurangkan pepijat yang disebabkan oleh perubahan yang tidak diingini.
- Membuat perubahan keadaan penjejakan lebih mudah (terutamanya berguna dalam React atau Redux).
- Menggalakkan gaya yang lebih deklaratif.
Anda tidak perlu mengklon dalam segala -galanya secara manual - alat seperti Object.assign()
atau pengendali penyebaran membantu menjaga perkara yang ringan.
Fungsi pesanan lebih tinggi: Bekerja dengan fungsi seperti nilai
JavaScript merawat fungsi sebagai warga kelas pertama. Anda boleh menyampaikannya sebagai hujah, mengembalikannya dari fungsi lain, dan memberikannya kepada pembolehubah. Apabila fungsi sama ada dari perkara itu, ia dipanggil fungsi pesanan yang lebih tinggi .
[1, 2, 3] .map (x => x * 2);
Dalam contoh ini, map
adalah fungsi pesanan yang lebih tinggi kerana ia memerlukan fungsi sebagai hujah.
Fungsi pesanan tinggi yang biasa di JS:
-
.map()
-
.filter()
-
.reduce()
-
.forEach()
Ini membantu anda menulis kod ringkas dan ekspresif tanpa gelung dan pembolehubah sementara.
Deklaratif vs Imperatif: Katakanlah, bukan bagaimana
Pengaturcaraan berfungsi bersandar ke gaya deklaratif , di mana anda menerangkan apa yang harus berlaku dan bukannya bagaimana untuk melakukannya dengan langkah.
// Imperatif const doubled = []; untuk (biarkan i = 0; i <number.length; i) { doubled.push (nombor [i] * 2); } // Deklaratif const doubled = number.map (n => n * 2);
Versi kedua mengatakan "mengambil setiap nombor dan menggandakannya," yang lebih mudah dibaca dan kurang rawan ralat.
Peralihan dalam pemikiran ini membantu mengurangkan boilerplate dan mengekalkan logik anda memberi tumpuan kepada niat dan bukannya aliran kawalan.
Itu pada dasarnya - empat tiang ini membentuk asas pengaturcaraan berfungsi dalam JavaScript. Ia bukan mengenai kesucian yang ketat, tetapi menerapkan idea -idea ini boleh membawa kepada kod yang lebih jelas dan lebih mudah dipelihara.
Atas ialah kandungan terperinci Apakah pengaturcaraan berfungsi? JS Roundup konsep teras. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Terdapat tiga cara biasa untuk memulakan permintaan HTTP dalam node.js: Gunakan modul terbina dalam, axios, dan nod-fetch. 1. Gunakan modul HTTP/HTTPS terbina dalam tanpa kebergantungan, yang sesuai untuk senario asas, tetapi memerlukan pemprosesan manual jahitan data dan pemantauan ralat, seperti menggunakan https.get () untuk mendapatkan data atau menghantar permintaan pos melalui .write (); 2.AXIOS adalah perpustakaan pihak ketiga berdasarkan janji. Ia mempunyai sintaks ringkas dan fungsi yang kuat, menyokong async/menunggu, penukaran JSON automatik, pemintas, dan lain -lain. Adalah disyorkan untuk memudahkan operasi permintaan tak segerak; 3.Node-Fetch menyediakan gaya yang serupa dengan pengambilan penyemak imbas, berdasarkan janji dan sintaks mudah

Jenis data JavaScript dibahagikan kepada jenis primitif dan jenis rujukan. Jenis primitif termasuk rentetan, nombor, boolean, null, undefined, dan simbol. Nilai -nilai tidak berubah dan salinan disalin apabila memberikan nilai, jadi mereka tidak mempengaruhi satu sama lain; Jenis rujukan seperti objek, tatasusunan dan fungsi menyimpan alamat memori, dan pembolehubah menunjuk objek yang sama akan mempengaruhi satu sama lain. Typeof dan Instanceof boleh digunakan untuk menentukan jenis, tetapi memberi perhatian kepada isu -isu sejarah TypeOfNull. Memahami kedua -dua jenis perbezaan ini dapat membantu menulis kod yang lebih stabil dan boleh dipercayai.

Dalam JavaScript, periksa sama ada array mengandungi nilai tertentu. Kaedah yang paling biasa termasuk (), yang mengembalikan nilai boolean dan sintaks adalah array. termasuk (valueTofind), contohnya buah -buahan. termasuk ('pisang') kembali benar; Sekiranya perlu bersesuaian dengan persekitaran lama, gunakan indexof (), seperti nombor.indexof (20)! ==-1 pulangan benar; Untuk objek atau data yang kompleks, beberapa () kaedah harus digunakan untuk perbandingan mendalam, seperti users.some (user => user.id === 1) pulangan benar.

Skop JavaScript menentukan skop kebolehcapaian pembolehubah, yang dibahagikan kepada skop global, fungsi dan tahap blok; Konteks menentukan arah ini dan bergantung kepada kaedah panggilan fungsi. 1. Skop termasuk skop global (boleh diakses di mana sahaja), skop fungsi (hanya sah dalam fungsi), dan skop peringkat blok (biarkan dan const sah dalam {}). 2. Konteks pelaksanaan mengandungi objek pembolehubah, rantaian skop dan nilai -nilai ini. Ini menunjukkan kepada global atau tidak ditentukan dalam fungsi biasa, kaedah panggilan kaedah ke objek panggilan, pembina menunjuk ke objek baru, dan juga boleh ditentukan secara jelas oleh panggilan/memohon/mengikat. 3. Penutupan merujuk kepada fungsi mengakses dan mengingati pembolehubah skop luaran. Mereka sering digunakan untuk enkapsulasi dan cache, tetapi boleh menyebabkan

Untuk mendapatkan nilai kotak input HTML, terasnya adalah untuk mencari elemen yang sepadan melalui operasi DOM dan membaca atribut nilai. 1. Gunakan document.getelementbyid menjadi cara yang paling langsung. Selepas menambah ID ke input, anda boleh mendapatkan elemen dan membaca nilai melalui kaedah ini; 2. Gunakan QuerySelector untuk menjadi lebih fleksibel, dan anda boleh memilih elemen berdasarkan atribut seperti nama, kelas, jenis, dan lain -lain; 3. Anda boleh menambah input atau menukar pendengar acara untuk mencapai fungsi interaktif, seperti mendapatkan kandungan input dalam masa nyata; 4. Perhatikan masa pelaksanaan skrip, kesilapan ejaan dan penghakiman null, dan pastikan unsur itu wujud sebelum mengakses nilai.

Rentetan templat adalah ciri yang diperkenalkan dalam JavaScriptes6, yang membungkus kandungan dengan backticks dan menyokong interpolasi berubah-ubah dan rentetan berbilang baris. 1. Gunakan backticks untuk menentukan rentetan seperti thisisatemplateliteral; 2. Masukkan pembolehubah atau ekspresi melalui sintaks $ {} seperti IAM $ {AGE} tahun; 3. Secara semulajadi menyokong teks berbilang baris tanpa menambahkan garis baru secara manual. Senario biasa termasuk kandungan HTML yang menjana secara dinamik, output rentetan berbilang baris, dan jahitan logik bersyarat yang dipermudahkan. Nota termasuk mengelakkan serangan suntikan, penggunaan templat tag lanjutan, dan menjaga logik mudah.

Terdapat dua kaedah teras untuk mendapatkan nilai butang radio yang dipilih. 1. Gunakan QuerySelector untuk mendapatkan item yang dipilih secara langsung, dan gunakan input [NAME = "NAMA-NAMA ANDA"]: Pemilih yang diperiksa untuk mendapatkan elemen yang dipilih dan membaca atribut nilainya. Ia sesuai untuk pelayar moden dan mempunyai kod ringkas; 2. Gunakan Document.GetElementsByName untuk melintasi dan mencari radio yang diperiksa pertama melalui nodelist gelung dan mendapatkan nilainya, yang sesuai untuk senario yang serasi dengan pelayar lama atau memerlukan kawalan manual proses; Di samping itu, anda perlu memberi perhatian kepada ejaan atribut nama, mengendalikan situasi yang tidak dipilih, dan pemuatan kandungan dinamik

Untuk menggunakan JavaScript untuk membuat iframe kotak pasir yang selamat, mula-mula gunakan atribut kotak pasir HTML untuk mengehadkan tingkah laku iframe, seperti melarang pelaksanaan skrip, tingkap pop timbul dan penyerahan bentuk; kedua, dengan menambah token tertentu seperti skrip membenarkan untuk melegakan keizinan seperti yang diperlukan; kemudian menggabungkan postmessage () untuk mencapai komunikasi silang domain yang selamat, sambil mengesahkan sumber mesej dan data yang ketat; Akhirnya elakkan kesilapan konfigurasi biasa, seperti tidak mengesahkan sumber, tidak menubuhkan CSP, dan lain -lain, dan melakukan ujian keselamatan sebelum pergi dalam talian.
