Rumah > hujung hadapan web > tutorial js > Javascript Lengkap - Asas kepada Lanjutan

Javascript Lengkap - Asas kepada Lanjutan

Susan Sarandon
Lepaskan: 2024-12-25 02:41:14
asal
484 orang telah melayarinya

Complete Javascript - Basic to Advanced

Pembolehubah & Jenis Data : var, let, const.

Jenis primitif: rentetan, nombor, boolean, null, undefined, simbol.

Null vs Undefined (imp):

a. null: ditugaskan secara eksplisit kepada pembolehubah untuk menunjukkan bahawa ia sengaja kosong atau tidak mempunyai nilai.

  • Jenis: Ia adalah objek jenis. (Ini adalah kebiasaan bersejarah dalam JavaScript.)
  • Penggunaan: Ia biasanya digunakan apabila anda ingin memberikan nilai kosong secara sengaja kepada pembolehubah atau objek, yang menunjukkan bahawa ada sesuatu yang hilang dengan sengaja.

b. tidak ditentukan: bermakna pembolehubah telah diisytiharkan tetapi belum diberikan nilai atau fungsi tidak mengembalikan apa-apa.
Jenis: Ia adalah jenisnya sendiri, tidak ditentukan.

  • Penggunaan: Ini adalah nilai lalai untuk pembolehubah tidak dimulakan atau argumen fungsi yang tidak diluluskan. Ia juga menunjukkan bahawa fungsi tidak mengembalikan apa-apa.

Jenis rujukan: objek, tatasusunan, fungsi.

Struktur Kawalan: jika, jika tidak, tukar

Gelung: untuk, sambil, buat-sementara, untuk…daripada, untuk…dalam

Fungsi:
a. Pengisytiharan fungsi vs ungkapan
b. Fungsi anak panah
c. Ungkapan Fungsi Dipanggil Serta-merta (IIFE)
d. Fungsi tertib tinggi (fungsi yang mengambil fungsi lain sebagai hujah atau mengembalikannya)
e. Fungsi panggil balik
Janji : Ini adalah cara untuk mengendalikan operasi tak segerak.
a. Janji.semua()
b. Promise.resolve()
c. Promise.then()
d. Promise.any()
e. Janji.perlumbaan()
f. Janji.tolak()
g.Promise.allSettled()

  1. Async/wait : Membolehkan anda menulis kod tak segerak dengan cara yang lebih kelihatan segerak.

  2. Fungsi Panggilan Balik : Panggilan balik ialah fungsi yang dihantar sebagai argumen kepada fungsi lain dan dilaksanakan selepas selesai fungsi utama itu.

  3. Penutupan : Penutupan dalam JavaScript ialah fungsi yang mempunyai akses kepada pembolehubah dalam skop induknya, walaupun selepas fungsi induk telah dikembalikan.

  4. Skop :
    a. Skop global lwn tempatan
    b. Skop fungsi, skop blok (dengan let dan const)

  5. Mengangkat :
    a. Pengangkat boleh ubah
    b. Fungsi mengangkat

  6. Gelung acara dan baris gilir tugas (tugas mikro dan tugasan makro)

  7. Konteks Pelaksanaan : Konteks pelaksanaan ialah persekitaran di mana kod itu dilaksanakan.
    a. Konteks Pelaksanaan Global (GEC)
    b. Konteks Pelaksanaan Fungsi

  8. Rantai Skop & Konteks Pelaksanaan :

Rantai Skop ialah konsep penting yang menentukan cara pembolehubah dicari dalam konteks yang berbeza apabila fungsi atau blok kod dilaksanakan
Konteks Pelaksanaan ialah konsep abstrak yang mewakili persekitaran di mana kod JavaScript dinilai dan dilaksanakan. Setiap kali fungsi dipanggil atau blok kod dijalankan, konteks pelaksanaan baharu dicipta.

  1. Memoisasi: Ia ialah teknik yang digunakan untuk mengoptimumkan fungsi dengan menyimpan cache hasil panggilan fungsi yang mahal dan menggunakan semula hasil tersebut apabila input yang sama berlaku semula. Ini membantu mengelakkan pengiraan berlebihan, meningkatkan prestasi dalam senario di mana fungsi dipanggil berulang kali dengan hujah yang sama.

  2. Menyahlantun : Mengehadkan kadar di mana fungsi digunakan. Membantu mengelakkan berbilang panggilan fungsi untuk acara yang sering dicetuskan, seperti ketukan kekunci atau mengubah saiz acara.

  3. Pendikit : Memastikan fungsi dipanggil paling banyak sekali dalam tempoh masa tertentu, tidak kira berapa kerap peristiwa itu dicetuskan.

  4. Kari : Sebab: Kari mengubah fungsi yang mengambil berbilang argumen kepada satu siri fungsi yang setiap satu mengambil satu argumen. Ini berguna untuk menggunakan sebahagian hujah.
    Tempat untuk digunakan: Pengaturcaraan berfungsi, menggunakan semula fungsi dengan argumen tetap.

  5. setTimeout(), setInterval(), dan clearTimeout() :
    a. setTimeout() : Melaksanakan fungsi selepas kelewatan yang ditentukan (dalam milisaat).
    b. setInterval() : Melaksanakan fungsi berulang kali pada selang waktu tertentu (dalam milisaat).
    c. clearTimeout(): Membatalkan operasi setTimeout() yang dijadualkan sebelum ini.

  6. Tersurat Templat: Tersurat templat, juga dikenali sebagai rentetan templat, ialah ciri dalam JavaScript yang membolehkan interpolasi rentetan dan rentetan berbilang baris yang lebih mudah. Ia dilambangkan dengan kutu belakang (`) dan bukannya petikan tunggal atau berganda.

  7. Penyimpanan Tempatan & Penyimpanan Sesi:

localStorage: Terkenal kerana menyimpan data secara berterusan merentas sesi penyemak imbas, kekal tersedia walaupun selepas penyemak imbas ditutup.

sessionStorage: Dikenali kerana menyimpan data hanya untuk tempoh satu sesi penyemak imbas, mengosongkan apabila tab atau penyemak imbas ditutup.

  1. Ungkapan Biasa (RegExp): Ungkapan Biasa (RegEx atau RegExp) ialah urutan aksara yang mentakrifkan corak carian. RegEx digunakan terutamanya untuk pencarian dan manipulasi rentetan, membolehkan anda mencari, memadankan dan menggantikan corak dalam teks.

  2. Kata Kunci ini : kata kunci ini merujuk kepada konteks di mana fungsi dilaksanakan. Ia ialah kata kunci khas yang berkelakuan berbeza bergantung pada cara sesuatu fungsi dipanggil.

  3. Dalam konteks pelaksanaan global (di luar sebarang fungsi), ini merujuk kepada objek global (tetingkap dalam penyemak imbas, global dalam Node.js).

  4. Dalam fungsi biasa (bukan dalam mod ketat), ini merujuk kepada objek global (tetingkap dalam penyemak imbas).

  5. Apabila fungsi dipanggil sebagai kaedah objek, ini merujuk kepada objek kaedah dipanggil.

  6. OOP dalam JavaScript:

Kelas Dalam JavaScript

Kelas dan Objek dalam JavaScript

Cara membuat kelas JavaScript dalam ES6

JavaScript Kata Kunci ini

Kata Kunci Baharu dalam JavaScript

Pembina Objek dalam JavaScript

Warisan dalam JavaScript

Pengenkapsulan dalam JavaScript

Kaedah Statik Dalam JavaScript

OOP dalam JavaScript

Getter dan Setter dalam JavaScript

  1. Pengendali :
    a. Operator Aritmetik: , -, *, /, %
    b. Operator Perbandingan: ==, ===, !=, !==, >, <, >=, <=
    c. Operator Logik: &&, ||, !
    d. Operator Tugasan: =, =, -=, *=, /=
    e. Operator Unari: , --, jenis, padam
    f. Operator Ternary (imp) : syarat ? expr1 : expr2

  2. Berhenti dan Teruskan

pecah (keluar dari gelung)
teruskan (langkau ke lelaran seterusnya)

  1. Parameter dan Hujah :

Parameter ialah pembolehubah yang ditakrifkan dalam pengisytiharan fungsi (atau tandatangan fungsi) yang menentukan jenis nilai yang diharapkan oleh fungsi itu akan diterima apabila ia dipanggil.
Argumen ialah nilai sebenar yang dihantar kepada fungsi apabila ia dipanggil.

  1. Destructuring : Destructuring ialah sintaks dalam JavaScript yang membolehkan anda membongkar nilai daripada tatasusunan atau sifat daripada objek ke dalam pembolehubah yang berbeza. Ia memudahkan proses mengekstrak berbilang sifat atau elemen daripada objek atau tatasusunan, menjadikan kod anda lebih bersih dan lebih mudah dibaca.

a. Pemusnahan tatasusunan
b. Pemusnahan Objek

  1. Operator Rehat dan Hamparan : Operator Rehat dan Hamparan kedua-duanya diwakili oleh ... dalam JavaScript, tetapi ia mempunyai tujuan yang berbeza bergantung pada cara ia digunakan.

Operator Rehat digunakan untuk mengumpul berbilang elemen dan menggabungkannya ke dalam satu tatasusunan atau objek. Ia digunakan terutamanya dalam parameter fungsi untuk mengumpul hujah atau dalam memusnahkan untuk mengumpul sifat yang tinggal.

Pengendali Spread digunakan untuk membongkar elemen tatasusunan atau objek ke dalam elemen atau sifat individu. Ia membolehkan anda mengembangkan atau "menyebarkan" lelaran (tatasusunan atau objek) ke dalam elemen atau sifat individu.

31.Delegasi Acara : Menggunakan pendengar acara pada elemen induk untuk mengendalikan acara elemen kanak-kanak

  1. Fungsi Tertib Tinggi : Fungsi Tertib Tinggi ialah fungsi yang sama ada mengambil satu atau lebih fungsi sebagai argumen atau mengembalikan fungsi sebagai hasilnya.

  2. Fungsi tanpa nama : Fungsi tanpa nama ialah fungsi yang tidak mempunyai nama. Fungsi ini biasanya ditakrifkan sebaris dan boleh ditugaskan kepada pembolehubah, dihantar sebagai argumen atau digunakan di tempat lain yang memerlukan fungsi.

Ciri-ciri Utama:

Tiada Nama: Fungsi ditakrifkan tanpa nama.
Selalunya Digunakan Dalam Talian: Biasa digunakan sebagai fungsi panggil balik atau dihantar sebagai argumen kepada fungsi tertib lebih tinggi.
Boleh Ditugaskan kepada Pembolehubah: Boleh diberikan kepada pembolehubah atau sifat sama seperti mana-mana nilai lain.

  1. Skop leksikal : Proses menentukan skop pembolehubah atau fungsi semasa masa jalan dipanggil skop leksikal.

Cara Skop Leksikal Berfungsi:

Apabila anda mentakrifkan fungsi, ia mempunyai akses kepada pembolehubah yang berada dalam skopnya (iaitu, pembolehubah yang diisytiharkan di dalam fungsi dan pembolehubah daripada fungsi luar, termasuk skop global).
Jika fungsi bersarang di dalam yang lain, fungsi dalam boleh mengakses pembolehubah daripada fungsi luar (ini dipanggil penutupan).

  1. Kaedah Tatasusunan :

push(), pop(), shift(), unshift()
concat(), slice(), splice()
map(), filter(), reduce(), forEach()
find(), findIndex()
sort(), reverse()
join(), split()
indexOf(), includes(), lastIndexOf()

  1. Kaedah Objek :

Object.assign(), Object.create(), Object.keys(), Object.values(), Object.entry(), Object.hasOwn(), Object.freeze(), Object.seal()

  1. Prototaip :

Rantai prototaip :
Warisan menggunakan prototaip

  1. Kelas

Sintaks kelas, pembina, kaedah
Warisan menggunakan extend
super() dan super() pembina

  1. call(), apply(), dan bind() : untuk mengawal konteks ini

  2. Acara menggelegak dan mengabadikan :

Peristiwa Bubbling berlaku apabila peristiwa dicetuskan pada elemen, dan peristiwa itu kemudiannya "berbuih" daripada elemen sasaran kepada elemen moyangnya dalam pepohon DOM. Dalam kebanyakan kes, acara menggelembung secara lalai melainkan anda menghalangnya secara khusus

Tangkapan Acara adalah bertentangan dengan acara menggelegak. Peristiwa ini mula-mula ditangkap oleh elemen akar dan kemudian meleleh ke elemen sasaran.

  1. Penjana & Lelang :
    Sebab: Penjana membenarkan penilaian malas, bermakna mereka menghasilkan nilai atas permintaan dan bukannya sekaligus. Berguna untuk set data yang besar atau urutan tak terhingga.
    Tempat untuk digunakan: Melaksanakan iterator tersuai, penilaian malas bagi jujukan.

  2. WeakMap dan WeakSet :
    Sebab: Membantu dengan pengurusan memori dalam JavaScript. WeakMap dan WeakSet membenarkan pengumpulan sampah kunci atau nilai apabila tiada lagi rujukan kepada mereka.
    Tempat untuk digunakan: Menguruskan rujukan kepada objek tanpa menghalang pengumpulan sampah. Contohnya, caching nod DOM yang anda tidak mahu mencipta kebocoran memori.

  3. Polifill :
    Sebab: Menambah sokongan untuk ciri yang tidak tersedia secara asli dalam penyemak imbas lama dengan menyediakan kod yang meniru fungsi moden.
    Tempat untuk digunakan: Memastikan keserasian dengan penyemak imbas lama (cth., versi lama Internet Explorer) untuk ciri JavaScript baharu seperti Promise, fetch, dsb.

  4. Warisan Prototaip :
    Sebab: JavaScript menggunakan prototaip untuk warisan, bukannya warisan berorientasikan objek klasik. Memahami cara rantai prototaip berfungsi adalah kunci untuk memahami model warisan JavaScript.
    Tempat untuk digunakan: Membina hierarki objek, menambahkan kaedah pada pembina.

  5. Kuki : Menyimpan dan mendapatkan semula kuki dalam JavaScript

  6. Kaedah Tatasusunan Terperinci

Array.prototype.find() : Mencari elemen pertama dalam tatasusunan yang sepadan dengan keadaan
Array.prototype.filter(): Menapis elemen berdasarkan keadaan
Array.prototype.reduce(): Mengurangkan tatasusunan menjadi satu nilai
Array.prototype.map(): Mencipta tatasusunan baharu dengan menggunakan fungsi pada setiap elemen
Array.prototype.sort(): Mengisih tatasusunan dengan fungsi pengisihan tersuai

  1. Corak Rekaan :

Corak Modul: Merangkumkan kod ke dalam modul
Corak Singleton: Memastikan kelas hanya mempunyai satu contoh
Corak Pemerhati: Memberitahu berbilang objek apabila keadaan satu objek berubah.
Corak Kilang: Menyediakan cara untuk membuat seketika objek sambil mengekalkan logik penciptaan berasingan daripada aplikasi yang lain.
Corak Strategi :Membolehkan anda mentakrifkan strategi (algoritma) untuk operasi tertentu dan mengubahnya semasa masa jalan.
Corak Penghias: Menambah gelagat secara dinamik pada objek tanpa menjejaskan strukturnya.

  1. Lazy Loading : Menangguhkan pemuatan kandungan sehingga diperlukan.

  2. Bekerja dengan JSON :

Asas JSON
Sintaks JSON, menghuraikan dengan JSON.parse(), merangkai dengan JSON.stringify()
Bekerja dengan API
Mengambil data daripada API menggunakan fetch()
Mengendalikan respons API dengan Promises atau Async/Await

  1. Manipulasi DOM :

Pemilihan DOM
document.getElementById(), document.querySelector(), document.querySelectorAll()
Pengendalian Acara
Pendengar acara: addEventListener(), removeEventListener()
event.target, event.preventDefault(), event.stopPropagation()
Mengubah suai Elemen DOM
Menukar teks, HTML, atribut, gaya
Menambah/mengalih keluar elemen secara dinamik (createElement(), appendChild(), removeChild())
DOM Traversal
parentNode, childNodes, nextSibling, previousSibling

  1. Pengendalian Ralat :

cuba...tangkap...akhirnya: Mengendalikan ralat dalam kod segerak
Ralat Tersuai: Mencipta kelas ralat tersuai
Ralat Balingan: kata kunci baling untuk ralat balingan secara manual

  1. Kaedah Rentetan :
    charAt(), charCodeAt(), concat(), includes(), indexOf(), lastIndexOf(), slice(), split(), toLowerCase(), toUpperCase(), trim(), replace(), search( ), match(), repeat(), startsWith(), endsWith(), padStart(), padEnd(), localeCompare(), fromCharCode().

  2. Kaedah tarikh :
    Date.now(), Date.parse(), Date.UTC(), getDate(), getDay(), getFullYear(), getHours(), getMilliseconds(), getMinutes(), getMonth(), getSeconds(), getTime(), getTimezoneOffset(), setDate(), setFullYear(), setHours(), setMilliseconds(), setMinutes(), setMonth(), setSeconds(), setTime(), toDateString(), toISOString(), toLocaleDateString(), toLocaleTimeString(), toString().

  3. Penjana: Penjana dalam JavaScript ialah jenis fungsi khas yang membolehkan anda menjeda dan menyambung semula pelaksanaannya.
    function*, yield, next(), return(), throw().

  4. Proksi JavaScript : Proksi dalam JavaScript ialah objek khas yang membolehkan anda memintas dan menyesuaikan operasi pada objek, seperti akses harta benda, tugasan, panggilan fungsi dan banyak lagi. Ia bertindak sebagai pembungkus untuk objek lain dan boleh mentakrifkan semula operasi asas (seperti get, set, deleteProperty, dll.) pada objek itu.

Perangkap (Kaedah) Yang Biasa Digunakan:

dapatkan(sasaran, prop, penerima): Memintas akses harta benda.
set(sasaran, prop, nilai, penerima): Memintas penetapan harta.
has(target, prop): Memintas operator dalam.
deleteProperty(target, prop): Memintas pemadaman sifat.
apply(target, thisArg, argumentsList): Memintas panggilan fungsi.
construct(target, args): Memintas operator baharu.
defineProperty(sasaran, prop, deskriptor): Memintas definisi harta.

  1. Tatasusunan Javascript dan Pengklonan Objek : Cetek atau Dalam ?

Klon cetek objek atau tatasusunan mencipta tika baharu, tetapi ia hanya menyalin sifat atau elemen peringkat atas. Jika objek atau tatasusunan asal mengandungi rujukan kepada objek lain (objek bersarang atau tatasusunan), objek dalam ini tidak disalin. Sebaliknya, klon cetek akan merujuk objek yang sama.

Klon dalam mencipta salinan bebas sepenuhnya bagi objek atau tatasusunan asal. Ia menyalin semua sifat atau elemen secara rekursif, termasuk objek atau tatasusunan bersarang. Ini bermakna pengklonan dalam memastikan tiada rujukan kepada objek bersarang dikongsi antara yang asal dan klon.

  1. kesaksamaan longgar (==) dan kesaksamaan yang ketat (===) :

Kesaksamaan longgar membandingkan dua nilai untuk kesaksamaan selepas melakukan paksaan jenis. Ini bermakna bahawa nilai ditukar kepada jenis biasa (jika ia daripada jenis yang berbeza) sebelum membuat perbandingan.
Apabila menggunakan ==, JavaScript cuba menukar operan kepada jenis yang sama sebelum membandingkannya.

Kesaksamaan yang ketat membandingkan dua nilai tanpa melakukan sebarang penukaran jenis. Ia menyemak kedua-dua nilai dan jenis operan.
Untuk ===, operan mestilah daripada jenis dan nilai yang sama untuk dianggap sama.

  1. Panggilan mengikut Nilai Vs Panggilan melalui Rujukan :

Panggilan mengikut Nilai : Apabila argumen dihantar ke fungsi mengikut nilai, salinan nilai sebenar dihantar. Sebarang perubahan yang dibuat pada hujah di dalam fungsi tidak menjejaskan pembolehubah asal di luar fungsi.
Apabila ia berlaku: Ini berlaku apabila jenis primitif (seperti nombor, rentetan, boolean, null, undefined dan simbol) dihantar ke fungsi.

Panggil dengan Rujukan : Apabila hujah dihantar melalui rujukan, rujukan (atau alamat memori) objek sebenar dihantar ke fungsi. Ini bermakna sebarang perubahan yang dibuat pada hujah di dalam fungsi akan mengubah suai secara langsung objek asal di luar fungsi.
Apabila ia berlaku: Ini berlaku apabila jenis bukan primitif (seperti objek, tatasusunan dan fungsi) dihantar ke fungsi.

  1. Set JavaScript : Set dalam JavaScript ialah objek koleksi terbina dalam yang membolehkan anda menyimpan nilai unik dari sebarang jenis, sama ada rujukan primitif atau objek.

Ciri-ciri Utama Set:

Elemen Unik: Satu Set secara automatik memastikan setiap nilai yang terkandung di dalamnya adalah unik. Jika anda cuba menambah nilai pendua, nilai itu akan diabaikan.
Disusun: Unsur-unsur dalam Set disusun, bermakna nilai-nilai disimpan dalam susunan ia telah ditambah. Walau bagaimanapun, Set tidak membenarkan entri pendua.
Boleh Lelar: Set boleh lelar, jadi anda boleh menggelungkan elemen dalam Set menggunakan untuk...daripada, atau kaedah seperti .forEach().
Tiada Indeks: Tidak seperti Tatasusunan, Set elemen tidak diakses oleh indeks. Ia disimpan mengikut susunan sisipan, tetapi anda tidak boleh merujuknya dengan nombor.
Kaedah Asas Satu Set :

tambah(nilai): Menambah nilai pada Set. Jika nilai sudah wujud, ia tidak melakukan apa-apa (tiada pendua).
has(value): Semak jika Set mengandungi nilai yang ditentukan. Mengembalikan benar atau salah.
delete(value): Mengalih keluar nilai yang ditentukan daripada Set.
clear(): Mengalih keluar semua elemen daripada Set.
saiz: Mengembalikan bilangan elemen dalam Set.
forEach(callback): Melaksanakan fungsi yang disediakan sekali untuk setiap nilai dalam Set.

  1. Peta JavaScript : Peta dalam JavaScript ialah objek terbina dalam yang menyimpan pasangan nilai kunci. Tidak seperti objek JavaScript biasa, Peta membenarkan kekunci sebarang jenis data (termasuk objek, fungsi dan jenis primitif seperti rentetan dan nombor) untuk digunakan. Peta juga mengekalkan susunan sisipan kunci mereka, menjadikannya berguna dalam senario di mana pesanan penting.

Kaedah Asas Peta :

set(kunci, nilai): Menambah atau mengemas kini elemen dengan kunci dan nilai yang ditentukan dalam Peta.
get(key): Mendapatkan semula nilai yang dikaitkan dengan kunci yang ditentukan.
has(key): Menyemak sama ada Peta mengandungi kunci.
delete(key): Mengalih keluar elemen yang dikaitkan dengan kunci yang ditentukan.
clear(): Mengalih keluar semua elemen daripada Peta.
saiz: Mengembalikan bilangan pasangan nilai kunci dalam Peta.
forEach(callback): Melaksanakan fungsi yang disediakan sekali untuk setiap pasangan nilai kunci dalam Peta.
keys(): Mengembalikan objek iterator yang mengandungi semua kekunci dalam Peta.
values(): Mengembalikan objek iterator yang mengandungi semua nilai dalam Peta.
entri(): Mengembalikan objek iterator yang mengandungi tatasusunan pasangan [kunci, nilai].

  1. API Ambil : API Ambil membenarkan kami membuat permintaan async ke pelayan web daripada penyemak imbas. Ia mengembalikan janji setiap kali permintaan dibuat yang kemudiannya digunakan untuk mendapatkan semula respons permintaan itu.

  2. Import/Eksport :

Modul: Dalam JavaScript, modul ialah fail yang mengandungi kod yang ingin anda gunakan semula. Daripada mempunyai segala-galanya dalam satu fail, anda boleh membahagikan kod anda kepada fail yang berasingan dan kemudian mengimport apa yang anda perlukan. Ini memastikan kod bersih, teratur dan boleh diselenggara.

Import: Beginilah cara anda membawa masuk kefungsian daripada modul lain ke dalam fail semasa anda.
Eksport: Beginilah cara anda menjadikan pembolehubah, fungsi, kelas atau objek daripada satu modul tersedia untuk digunakan dalam modul lain.

  1. Fungsi Tulen, Kesan Sampingan, Mutasi Keadaan dan Penyebaran Peristiwa:

  2. Rekursi :
    Rekursi ialah konsep pengaturcaraan asas di mana fungsi memanggil dirinya sendiri untuk menyelesaikan masalah. Rekursi sering digunakan apabila masalah boleh dipecahkan kepada submasalah yang lebih kecil dan serupa. Dalam JavaScript, rekursi berguna untuk tugas seperti melintasi pokok, menyelesaikan teka-teki dan banyak lagi.

Konsep Utama:

Kes Asas: Keadaan yang menghentikan rekursi. Tanpa kes asas, rekursi boleh menyebabkan panggilan fungsi tidak terhingga, menyebabkan ralat limpahan tindanan.
Kes Rekursif: Bahagian rekursi di mana fungsi memanggil dirinya sendiri dengan versi masalah yang lebih kecil atau lebih mudah.

  1. Kaedah memohon, memanggil dan mengikat:

  2. kaedah tetingkap:
    alert(), confirm(), prompt(), setTimeout(), setInterval(), clearTimeout(), clearInterval(), open(), close(), requestAnimationFrame().

  3. Acara tetikus:
    klik, dblclick, mousedown, mouseup, mousemove, mouseover, mouseout, mouseenter, mouseleave, contextmenu.

  4. Acara papan kekunci:
    keydown, tekan kekunci, keyup.

  5. Bentuk acara:
    serahkan, tukar, fokus, kabur, input, tetapkan semula, pilih, tekan kekunci, kekunci, kekunci.

  6. Menyahpepijat :

  7. Perkongsian Sumber Rentas Asal (CORS):

  8. Web Workers: Mekanisme untuk menjalankan skrip dalam urutan latar belakang, membenarkan JavaScript melaksanakan tugas yang mahal secara pengiraan tanpa menyekat urutan utama.

  9. Pekerja Perkhidmatan: Skrip yang berjalan di latar belakang penyemak imbas anda, mendayakan ciri seperti pemberitahuan tolak, penyegerakan latar belakang dan caching untuk kefungsian luar talian.

  10. Malas Memuatkan atau Menatal Tak Terhingga) :

Lazy Loading dan Infinite Scrolling ialah dua teknik yang biasa digunakan untuk meningkatkan prestasi dan pengalaman pengguna dalam aplikasi web, terutamanya apabila berurusan dengan sejumlah besar data atau media (seperti imej, senarai atau artikel).

Lazy Loading ialah corak reka bentuk dalam pembangunan web di mana sumber (seperti imej, skrip, video, malah kandungan) dimuatkan hanya apabila ia diperlukan.
Matlamat utama pemuatan malas adalah untuk meningkatkan masa pemuatan awal halaman web dengan mengurangkan bilangan sumber yang dimuatkan pada mulanya.

Tatal Infinite ialah teknik yang memuatkan lebih banyak kandungan secara automatik apabila pengguna menatal ke bawah halaman, biasanya tanpa memerlukan penomboran. Ini digunakan secara meluas dalam platform media sosial, tapak berita dan sebarang aplikasi web yang perlu memaparkan set data yang besar (cth., Instagram, Twitter, Facebook).

76: Apl Web Progresif (PWA): Membina aplikasi web yang berfungsi di luar talian, menyediakan pemberitahuan tolak dan mempunyai prestasi seperti asli (melalui pekerja perkhidmatan dan API penyemak imbas lain).

  1. Acara dihantar pelayan : Acara dihantar pelayan (SSE) ialah teknologi yang mudah dan cekap untuk mendayakan kemas kini masa nyata daripada pelayan kepada klien melalui satu sambungan HTTP.

78.Mod Ketat : Mod Ketat ialah ciri dalam JavaScript yang memastikan anda mengelakkan ralat dan ciri bermasalah.

  1. Keselamatan: (Bukan konsep JavaScript, tetapi penting untuk diketahui)

Skrip Merentas Tapak (XSS)
Pemalsuan Permintaan Rentas Tapak (CSRF)
Dasar Keselamatan Kandungan (CSP)
CORS (Perkongsian Sumber Silang Asal)
JWT (Token Web JSON)

  1. Zon Mati Sementara (TDZ) : Ia adalah istilah yang merujuk kepada tempoh masa antara penciptaan pembolehubah dan permulaannya dalam konteks pelaksanaan. Pada masa ini, pembolehubah wujud tetapi tidak boleh diakses — percubaan untuk berbuat demikian akan mengakibatkan ReferenceError.

TDZ berlaku untuk pembolehubah yang diisytiharkan menggunakan let dan const tetapi bukan untuk var kerana pengisytiharan var dinaikkan dan dimulakan dengan undefined.

Itu sahaja kawan-kawan.

Mempelajari JavaScript, atau mana-mana bahasa pengaturcaraan, pada mulanya boleh berasa amat memberangsangkan. Jika anda tidak memahami topik pada mulanya, itu tidak mengapa! Tiada siapa yang menjadi pakar dalam sekelip mata. Kuncinya ialah konsisten, amalan dan kegigihan.

Ingat, setiap pembangun bermula dari asas. Luangkan masa anda untuk memahami setiap topik dengan teliti, terutamanya jika anda seorang pemula. Jangan tergesa-gesa proses, dan jangan putus asa dengan bilangan konsep untuk dikuasai. Teruskan berlatih, dan secara beransur-ansur, perkara akan mula klik.

Kekal sabar, kekal ingin tahu, dan yang paling penting, teruskan pengekodan!

Terima kasih kerana meluangkan masa untuk membaca blog saya! Saya harap anda mendapati ia membantu dan bermaklumat. Jika saya terlepas sebarang topik atau konsep penting, saya mohon maaf. Sila tinggalkan komen atau hubungi jika anda mempunyai sebarang soalan atau cadangan. Maklum balas anda sentiasa dihargai!

Dan jangan lupa untuk bertepuk tangan jika anda mendapati ini membantu! ?

Atas ialah kandungan terperinci Javascript Lengkap - Asas kepada Lanjutan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
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 terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan