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

Javascript Lengkap - Asas kepada Lanjutan

Dec 25, 2024 am 02:41 AM

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!

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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Artikel Panas

<🎜>: Bubble Gum Simulator Infinity - Cara Mendapatkan dan Menggunakan Kekunci Diraja
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Nordhold: Sistem Fusion, dijelaskan
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Mandragora: Whispers of the Witch Tree - Cara Membuka Kunci Cangkuk Bergelut
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial Java
1669
14
Tutorial PHP
1273
29
Tutorial C#
1256
24
Python vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Python vs JavaScript: Keluk Pembelajaran dan Kemudahan Penggunaan Apr 16, 2025 am 12:12 AM

Python lebih sesuai untuk pemula, dengan lengkung pembelajaran yang lancar dan sintaks ringkas; JavaScript sesuai untuk pembangunan front-end, dengan lengkung pembelajaran yang curam dan sintaks yang fleksibel. 1. Sintaks Python adalah intuitif dan sesuai untuk sains data dan pembangunan back-end. 2. JavaScript adalah fleksibel dan digunakan secara meluas dalam pengaturcaraan depan dan pelayan.

Dari C/C ke JavaScript: Bagaimana semuanya berfungsi Dari C/C ke JavaScript: Bagaimana semuanya berfungsi Apr 14, 2025 am 12:05 AM

Peralihan dari C/C ke JavaScript memerlukan menyesuaikan diri dengan menaip dinamik, pengumpulan sampah dan pengaturcaraan asynchronous. 1) C/C adalah bahasa yang ditaip secara statik yang memerlukan pengurusan memori manual, manakala JavaScript ditaip secara dinamik dan pengumpulan sampah diproses secara automatik. 2) C/C perlu dikumpulkan ke dalam kod mesin, manakala JavaScript adalah bahasa yang ditafsirkan. 3) JavaScript memperkenalkan konsep seperti penutupan, rantaian prototaip dan janji, yang meningkatkan keupayaan pengaturcaraan fleksibiliti dan asynchronous.

JavaScript dan Web: Fungsi teras dan kes penggunaan JavaScript dan Web: Fungsi teras dan kes penggunaan Apr 18, 2025 am 12:19 AM

Penggunaan utama JavaScript dalam pembangunan web termasuk interaksi klien, pengesahan bentuk dan komunikasi tak segerak. 1) kemas kini kandungan dinamik dan interaksi pengguna melalui operasi DOM; 2) pengesahan pelanggan dijalankan sebelum pengguna mengemukakan data untuk meningkatkan pengalaman pengguna; 3) Komunikasi yang tidak bersesuaian dengan pelayan dicapai melalui teknologi Ajax.

JavaScript in Action: Contoh dan projek dunia nyata JavaScript in Action: Contoh dan projek dunia nyata Apr 19, 2025 am 12:13 AM

Aplikasi JavaScript di dunia nyata termasuk pembangunan depan dan back-end. 1) Memaparkan aplikasi front-end dengan membina aplikasi senarai TODO, yang melibatkan operasi DOM dan pemprosesan acara. 2) Membina Restfulapi melalui Node.js dan menyatakan untuk menunjukkan aplikasi back-end.

Memahami Enjin JavaScript: Butiran Pelaksanaan Memahami Enjin JavaScript: Butiran Pelaksanaan Apr 17, 2025 am 12:05 AM

Memahami bagaimana enjin JavaScript berfungsi secara dalaman adalah penting kepada pemaju kerana ia membantu menulis kod yang lebih cekap dan memahami kesesakan prestasi dan strategi pengoptimuman. 1) aliran kerja enjin termasuk tiga peringkat: parsing, penyusun dan pelaksanaan; 2) Semasa proses pelaksanaan, enjin akan melakukan pengoptimuman dinamik, seperti cache dalam talian dan kelas tersembunyi; 3) Amalan terbaik termasuk mengelakkan pembolehubah global, mengoptimumkan gelung, menggunakan const dan membiarkan, dan mengelakkan penggunaan penutupan yang berlebihan.

Python vs JavaScript: Komuniti, Perpustakaan, dan Sumber Python vs JavaScript: Komuniti, Perpustakaan, dan Sumber Apr 15, 2025 am 12:16 AM

Python dan JavaScript mempunyai kelebihan dan kekurangan mereka sendiri dari segi komuniti, perpustakaan dan sumber. 1) Komuniti Python mesra dan sesuai untuk pemula, tetapi sumber pembangunan depan tidak kaya dengan JavaScript. 2) Python berkuasa dalam bidang sains data dan perpustakaan pembelajaran mesin, sementara JavaScript lebih baik dalam perpustakaan pembangunan dan kerangka pembangunan depan. 3) Kedua -duanya mempunyai sumber pembelajaran yang kaya, tetapi Python sesuai untuk memulakan dengan dokumen rasmi, sementara JavaScript lebih baik dengan MDNWebDocs. Pilihan harus berdasarkan keperluan projek dan kepentingan peribadi.

Python vs JavaScript: Persekitaran dan Alat Pembangunan Python vs JavaScript: Persekitaran dan Alat Pembangunan Apr 26, 2025 am 12:09 AM

Kedua -dua pilihan Python dan JavaScript dalam persekitaran pembangunan adalah penting. 1) Persekitaran pembangunan Python termasuk Pycharm, Jupyternotebook dan Anaconda, yang sesuai untuk sains data dan prototaip cepat. 2) Persekitaran pembangunan JavaScript termasuk node.js, vscode dan webpack, yang sesuai untuk pembangunan front-end dan back-end. Memilih alat yang betul mengikut keperluan projek dapat meningkatkan kecekapan pembangunan dan kadar kejayaan projek.

Peranan C/C dalam JavaScript Jurubah dan Penyusun Peranan C/C dalam JavaScript Jurubah dan Penyusun Apr 20, 2025 am 12:01 AM

C dan C memainkan peranan penting dalam enjin JavaScript, terutamanya digunakan untuk melaksanakan jurubahasa dan penyusun JIT. 1) C digunakan untuk menghuraikan kod sumber JavaScript dan menghasilkan pokok sintaks abstrak. 2) C bertanggungjawab untuk menjana dan melaksanakan bytecode. 3) C melaksanakan pengkompil JIT, mengoptimumkan dan menyusun kod hot-spot semasa runtime, dan dengan ketara meningkatkan kecekapan pelaksanaan JavaScript.

See all articles