亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

Jadual Kandungan
Saya mencipta nodelist.js kerana saya telah menggunakan apis dom asli, tetapi ingin menjadikannya lebih ringkas, dengan itu mengurangkan banyak redundansi ketika menulis kod (seperti untuk gelung).
memilih node dom adalah mudah:
gembira anda mengemukakan soalan ini. Mari kita bandingkan JS asli, jQuery, dan nodelist.js.
sokongan nodelist.js untuk kaedah array
push dan unshift
, pop, shift, map, slice, filter,
dan get kaedah: set
call kaedah
item kaedah
Perpustakaan saya serasi dengan semua penyemak imbas baru seperti yang diterangkan di bawah.
Kenapa pemilih jQuery pulangan prevobject bukan elemen biasa?
bagaimana untuk gelung melalui nodel?
Apakah penggunaan kaedah .prev () dalam jQuery?
Adakah jQuery masih relevan pada tahun 2022?
Bagaimana untuk memilih nod tertentu dari Nodelist?
Bolehkah saya menggunakan peta, penapis, dan mengurangkan kaedah pada nodel?
Apakah perbezaan antara QuerySelector dan QuerySelectorall?
bagaimana untuk memeriksa sama ada nodelist kosong?
Rumah hujung hadapan web tutorial js Kehilangan jquery kembung

Kehilangan jquery kembung

Feb 19, 2025 am 08:27 AM

Lose the jQuery Bloat -

mata teras

  • nodelist.js, sebagai alternatif kepada operasi DOM untuk jQuery, menawarkan fungsi yang sama, tetapi lebih kecil (4K selepas mampatan) dan mengambil kesempatan daripada penambahbaikan kepada API penyemak imbas asli.

  • Tidak seperti jQuery, nodelist.js merawat tatasusunan nod sebagai nod tunggal, membolehkan kod bersih dan operasi objek nodelist yang lebih mudah.

  • nodelist.js mengandungi kaedah khas untuk menetapkan dan mendapatkan atribut, memanggil kaedah spesifik elemen, dan mengakses nod dalam nodel, dan atribut

    bersamaan dengan atribut JQuery's prevObject. owner

  • nodelist.js serasi dengan pelayar arus perdana selepas versi tertentu (Firefox 6, Safari 5.0.5, Chrome 6, IE 9, Opera 11.6), dan dikemas kini secara automatik untuk memasukkan kaedah/sifat baru yang ditambah oleh penyemak imbas.

    p.tip { latar belakang warna: RGBA (128,128,128,0.05); Border-top-kanan-Radius: 5px; Sempadan-Bottom-Right-Radius: 5px; Padding: 15px 20px; Sempadan-kiri: 10px RGBA pepejal (128,128,128,0.075); }

Pada tahun -tahun kebelakangan ini, JQuery telah menjadi perpustakaan de facto JavaScript di web. Ia menghilangkan banyak ketidakkonsistenan silang penyemak imbas dan menambah lapisan gula sintaksis yang popular kepada skrip pelanggan. Salah satu titik kesakitan utama dalam pemprosesan abstraksi adalah operasi DOM, tetapi sejak kemunculan jQuery, pelayar asli API telah bertambah baik, dan konsep "anda mungkin tidak memerlukan jQuery" telah menjadi popular.

Sebabnya adalah seperti berikut:

    jQuery mengandungi banyak ciri yang anda tidak perlukan atau gunakan (dan oleh itu ia tidak perlu menjadi besar).
  1. JQuery mengambil terlalu banyak fungsi untuk terlalu banyak orang. Umumnya, perpustakaan yang lebih kecil boleh melakukan beberapa tugas dengan lebih baik.
  2. Dari segi operasi DOM, API penyemak imbas kini boleh melaksanakan sebahagian besar fungsi jQuery.
  3. API penyemak imbas kini lebih disegerakkan, contohnya menggunakan
  4. bukan addEventListener. attachEvent
apa masalahnya?

Masalahnya ialah menggunakan JavaScript asli (atau tulen) untuk DOM boleh menyusahkan berbanding dengan jQuery. Ini kerana anda perlu menulis lebih banyak kod yang berlebihan dan mengendalikan nodelist yang tidak berguna penyemak imbas.

Pertama, mari kita lihat definisi nodelist MDN:

Objek nodelist

adalah koleksi nod, seperti yang dikembalikan oleh kaedah

dan Node.childNodes. document.querySelectorAll

kadang -kadang ada nodelis dinamik (yang boleh mengelirukan):

Dalam beberapa kes, nodelist adalah koleksi dinamik, yang bermaksud perubahan dalam DOM ditunjukkan dalam koleksi. Sebagai contoh,

dinamik. Node.childNodes

Ini boleh menjadi masalah kerana anda tidak dapat memberitahu yang dinamik dan yang statik. Kecuali anda mengeluarkan setiap nod dari nodel dan kemudian periksa sama ada nodelist kosong. Jika kosong, anda mempunyai nodelis dinamik (ia hanya idea yang buruk).

Di samping itu, penyemak imbas tidak menyediakan sebarang kaedah yang berguna untuk memanipulasi objek nodel ini.

contohnya, malangnya, tidak mungkin untuk gelung melalui nod menggunakan forEach

Oleh itu, anda perlu melakukan perkara berikut:
var nodes = document.querySelectorAll('div');
nodes.forEach(function(node) {
  // do something
});
// 錯(cuò)誤:nodes.forEach 不是函數(shù)

atau hanya menggunakan "hack":
var nodes = document.querySelectorAll('div');
for(var i = 0, l = nodes.length; i < l; i++) {
  // do something with nodes[i]
}

Nodelist asli penyemak imbas hanya mempunyai satu kaedah:
[].forEach.call(document.querySelectorAll('div'), function(node) {
    // do something
});
. Ia mengembalikan nod dari Nodelist melalui Indeks. Apabila kita dapat mengakses nod seperti kita menggunakan array (menggunakan

), ia tidak berguna: item array[index]

Ini adalah tempat nodelist.js masuk - menjadikannya mudah untuk mengendalikan DOM menggunakan API asli pelayar menggunakan jQuery, tetapi hanya memerlukan saiz mampatan 4K.
var nodes = document.querySelectorAll('div');
nodes.item(0) === nodes[0]; // true

Penyelesaian

Saya mencipta nodelist.js kerana saya telah menggunakan apis dom asli, tetapi ingin menjadikannya lebih ringkas, dengan itu mengurangkan banyak redundansi ketika menulis kod (seperti untuk gelung).

nodelist.js adalah pembungkus untuk API DOM asli yang membolehkan anda memanipulasi tatasusunan nod (iaitu nodel saya) seolah -olah ia adalah nod tunggal. Ini memberi anda lebih banyak fungsi daripada objek nodelist asli penyemak imbas.

Jika anda fikir ini bagus, dapatkan salinan nodelist.js dari repositori GitHub rasmi dan terus membaca tutorial ini.

Penggunaan:

memilih node dom adalah mudah:

// kembali ke nodelist saya

$$(selector);

Kaedah ini digunakan di latar belakang

.

querySelectorAll(selector) Tetapi bagaimana ia dibandingkan dengan jQuery?

gembira anda mengemukakan soalan ini. Mari kita bandingkan JS asli, jQuery, dan nodelist.js.

Katakan kita mempunyai tiga butang:

mari kita ubah teks setiap butang untuk "klik saya":

Native JS:

var buttons = document.querySelectorAll('button'); // 返回瀏覽器無(wú)用的 NodeList
for(var i = 0, l = buttons.length; i < l; i++) {
  buttons[i].textContent = 'Click Me';
}
jQuery:

$('button').text('Click Me');
nodelist.js:

$$('button').textContent = 'Click Me';
Di sini, kita melihat bahawa nodelist.js secara berkesan dapat merawat nodelis sebagai nod tunggal. Iaitu, kita merujuk seorang nodel dan menetapkan harta

untuk "klik saya". Nodelist.js kemudian melakukan ini untuk setiap nod dalam nodel. Sangat pandai, bukan?

textContent Jika kita mahukan rantaian kaedah (serupa dengan jQuery), kita melakukan yang berikut, yang mengembalikan rujukan kepada nodel:

$$('button').set('textContent', 'Click Me');
Sekarang, mari tambahkan pendengar acara klik ke setiap butang:

Native JS:

var buttons = document.querySelectorAll('button'); // 返回瀏覽器無(wú)用的 NodeList
for(var i = 0, l = buttons.length; i < l; i++) {
  buttons[i].addEventListener('click', function() {
    this.classList.add('clicked');
  });
}
jQuery:

$('button').on('click', function() {
  $(this).addClass('click');
  // 或?qū)?jQuery 與原生混合使用 `classList`:
  this.classList.add('clicked');
});
nodelist.js:

$$('button').addEventListener('click', function() {
  this.classList.add('clicked');
});
Okay, jadi kaedah

jQuery agak baik. Perpustakaan saya menggunakan API DOM asli penyemak imbas (oleh itu

), tetapi itu tidak menghalang kami daripada membuat alias untuk kaedah: on addEventListener

$$.NL.on = $$.NL.addEventListener;

$$('button').on('click', function() {
  this.classList.add('clicked');
});
tidak buruk! Ini menunjukkan bagaimana kita menambah kaedah kita sendiri:

var nodes = document.querySelectorAll('div');
nodes.forEach(function(node) {
  // do something
});
// 錯(cuò)誤:nodes.forEach 不是函數(shù)

sokongan nodelist.js untuk kaedah array

nodelist.js tidak mewarisi dari Array.prototype, tetapi tidak secara langsung, kerana beberapa kaedah telah berubah, jadi masuk akal untuk menggunakannya dengan nodelist (pelbagai nod).

push dan unshift

contohnya: push dan unshift kaedah hanya boleh mengambil nod sebagai parameter, jika tidak, ralat akan dilemparkan:

var nodes = document.querySelectorAll('div');
for(var i = 0, l = nodes.length; i < l; i++) {
  // do something with nodes[i]
}

jadi kedua -dua push dan unshift kembali nodelist untuk membolehkan kaedah chaining, bermakna ia berbeza daripada kaedah asli JavaScript Array#push atau Array#unshift, yang menerima apa -apa dan mengembalikan panjang baru array. Jika kita mahu panjang nodel, kita hanya perlu menggunakan harta length.

Kedua -dua kaedah ini, seperti kaedah array asli JavaScript, menukar nodel.

concat

Kaedah menerima yang berikut sebagai parameter: concat

[].forEach.call(document.querySelectorAll('div'), function(node) {
    // do something
});

adalah kaedah rekursif, jadi tatasusunan ini boleh menjadi mendalam seperti yang kita mahu dan akan diratakan. Walau bagaimanapun, jika mana -mana elemen dalam array yang diluluskan bukan nod, nodel, atau htmlcollection, ia akan membuang kesilapan. concat

Mengembalikan nodelist baru, sama seperti kaedah JavaScript concat. Array#concat

, pop, shift, map, slice, filter,

Kedua -dua kaedah

pop dan shift boleh mengambil parameter pilihan, menunjukkan berapa banyak nod untuk pop atau beralih dari nodel. Tidak seperti JavaScript's Native Array#pop atau Array#shift, yang terakhir selalu muncul atau mengalihkan elemen dalam array tanpa mengira apa yang diluluskan sebagai parameter.

Jika setiap nilai dipetakan adalah nod, kaedah map mengembalikan nodel;

Kaedah

slice dan filter melakukan perkara yang sama seperti yang mereka lakukan dalam tatasusunan sebenar, tetapi mengembalikan nodel.

Sejak nodelist.js tidak mewarisi secara langsung dari Array.prototype, jika anda menambah kaedah untuk Array.prototype apabila memuatkan nodelist.js, ia tidak akan diwarisi.

anda boleh melihat kaedah array yang tinggal nodelist.js di sini.

Kaedah Khas

nodelist.js mempunyai empat kaedah unik, dan harta yang dipanggil

, yang bersamaan dengan atribut owner jQuery. prevObject

dan get kaedah: set

Beberapa elemen mempunyai atribut khusus untuk unsur -unsur jenis itu (contohnya, atribut

pada tag utama). Inilah sebabnya href akan kembali tidak ditentukan - kerana ia bukan harta yang diwarisi oleh setiap elemen dalam nodel. Inilah cara kami menggunakan kaedah $$('a').href untuk mengakses sifat -sifat ini: get

var nodes = document.querySelectorAll('div');
nodes.forEach(function(node) {
  // do something
});
// 錯(cuò)誤:nodes.forEach 不是函數(shù)
Kaedah

set boleh digunakan untuk menetapkan sifat -sifat ini untuk setiap elemen:

var nodes = document.querySelectorAll('div');
for(var i = 0, l = nodes.length; i < l; i++) {
  // do something with nodes[i]
}

set juga mengembalikan nodel untuk membolehkan kaedah chaining. Kita boleh menggunakannya dalam textContent dan lain -lain (kedua -duanya bersamaan):

[].forEach.call(document.querySelectorAll('div'), function(node) {
    // do something
});

kita juga boleh menetapkan pelbagai sifat dalam satu panggilan:

var nodes = document.querySelectorAll('div');
nodes.item(0) === nodes[0]; // true

Semua operasi di atas boleh dilakukan menggunakan atribut mana -mana, contohnya style:

var buttons = document.querySelectorAll('button'); // 返回瀏覽器無(wú)用的 NodeList
for(var i = 0, l = buttons.length; i < l; i++) {
  buttons[i].textContent = 'Click Me';
}

call kaedah

Kaedah

call membolehkan anda memanggil kaedah spesifik elemen (contohnya, pause pada elemen video):

$('button').text('Click Me');

item kaedah

Kaedah

item bersamaan dengan kaedah eq jQuery. Ia mengembalikan nodel yang mengandungi hanya nod yang melewati indeks:

$$('button').textContent = 'Click Me';

atribut owner Atribut

bersamaan dengan

jQuery. owner prevObject

$$('button').set('textContent', 'Click Me');
Mengembalikan array gaya, manakala

akan mengembalikan nodelist yang dipetakan oleh btns.style. owner style keserasian nodelist.js

Perpustakaan saya serasi dengan semua penyemak imbas baru seperti yang diterangkan di bawah.

penyemak imbas versi firefox 6 Safari 5.0.5 Chrome 6 ie 9 opera 11.6 Kesimpulan Sekarang kita akhirnya boleh menggunakan objek nodelist yang berguna!

Untuk saiz mampatan kira -kira 4k anda mendapat semua di atas dan banyak lagi, yang boleh anda pelajari dalam repositori github nodelist.js.

Sejak nodelist.js menggunakan penyemak imbas sebagai kebergantungan, tiada peningkatan diperlukan. Apabila pelayar menambah kaedah/atribut baru ke elemen DOM, anda boleh menggunakan kaedah/atribut ini secara automatik melalui nodelist.js. Semua ini bermakna bahawa satu -satunya penyusutan yang perlu anda bimbang ialah kaedah penyingkiran penyemak imbas. Ini biasanya kaedah penggunaan yang sangat rendah kerana kita tidak dapat memecahkan web.

Jadi apa pendapat anda? Adakah anda akan mempertimbangkan menggunakan perpustakaan ini? Adakah ciri -ciri penting hilang? Saya suka mendengar komen anda dalam komen di bawah.

soalan yang sering ditanya mengenai operasi DOM dengan nodelist.js

Apakah perbezaan antara nodel dan htmlcollection?

nodelist dan htmlcollection adalah kedua -dua koleksi nod. Perbezaan utama di antara mereka ialah nodelist boleh mengandungi sebarang jenis nod, manakala HtmlCollection adalah koleksi nod elemen. HtmlCollection juga dinamik, bermakna ia akan dikemas kini secara automatik apabila struktur dokumen berubah. Nodelist, sebaliknya, adalah statik dan tidak mengemaskini untuk mencerminkan perubahan dalam dokumen.

bagaimana untuk menukar nodel ke array?

3 Inilah caranya:

var nodes = document.querySelectorAll('div');
nodes.forEach(function(node) {
  // do something
});
// 錯(cuò)誤:nodes.forEach 不是函數(shù)

Kenapa pemilih jQuery pulangan prevobject bukan elemen biasa?

Mekanisme chaining JQuery berfungsi dengan menyimpan objek sebelumnya sebelum membuat perubahan. Ini membolehkan anda menggunakan kaedah .end() untuk memulihkan ke keadaan terdahulu anda. Jika anda ingin mendapatkan elemen DOM sebenar, anda boleh menggunakan kaedah .get() atau notasi array.

bagaimana untuk gelung melalui nodel?

anda boleh gelung melalui nodel menggunakan gelung, untuk ... gelung, atau forEach() kaedah. Berikut adalah contoh menggunakan gelung untuk:

var nodes = document.querySelectorAll('div');
for(var i = 0, l = nodes.length; i < l; i++) {
  // do something with nodes[i]
}

Apakah penggunaan kaedah .prev () dalam jQuery?

Kaedah .prev() dalam jQuery digunakan untuk memilih elemen yang dipilih segera di sebelah adik terdahulu. Jika pemilih disediakan, elemen saudara terdahulu hanya diambil apabila pemilih dipadankan.

Adakah jQuery masih relevan pada tahun 2022?

Walaupun JQuery adalah penukar permainan pada pelancaran, ekosistem JavaScript moden telah berubah dengan ketara. Banyak ciri -ciri yang membuat jQuery popular kini dibina dalam JavaScript sendiri. Walau bagaimanapun, jQuery masih digunakan secara meluas dan dikekalkan, dan ia mungkin pilihan yang baik untuk beberapa projek.

Bagaimana untuk memilih nod tertentu dari Nodelist?

anda boleh memilih nod tertentu dari nodelist menggunakan notasi array atau kaedah item(). Inilah caranya:

[].forEach.call(document.querySelectorAll('div'), function(node) {
    // do something
});

Bolehkah saya menggunakan peta, penapis, dan mengurangkan kaedah pada nodel?

Nodelist bukanlah array, jadi ia tidak mempunyai kaedah seperti peta, penapis, dan mengurangkan. Walau bagaimanapun, anda boleh menukar nodel kepada array dan kemudian menggunakan kaedah ini.

Apakah perbezaan antara QuerySelector dan QuerySelectorall?

querySelector Mengembalikan elemen pertama dalam dokumen yang sepadan dengan pemilih CSS yang ditentukan, dan querySelectorAll mengembalikan nodelist semua elemen yang sepadan dengan pemilih CSS.

bagaimana untuk memeriksa sama ada nodelist kosong?

anda boleh menyemak sama ada nodelist kosong dengan memeriksa harta . Jika panjangnya 0, nodelist kosong. Inilah caranya: length

Atas ialah kandungan terperinci Kehilangan jquery kembung. 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

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

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.

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!

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 PHP
1488
72
Bagaimana membuat permintaan HTTP di node.js? Bagaimana membuat permintaan HTTP di node.js? Jul 13, 2025 am 02:18 AM

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: Rujukan primitif vs Jenis Data JavaScript: Rujukan primitif vs Jul 13, 2025 am 02:43 AM

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.

Objek Masa JavaScript, seseorang membina eactexe, laman web lebih cepat di Google Chrome, dll. Objek Masa JavaScript, seseorang membina eactexe, laman web lebih cepat di Google Chrome, dll. Jul 08, 2025 pm 02:27 PM

Helo, pemaju JavaScript! Selamat datang ke berita JavaScript minggu ini! Minggu ini kami akan memberi tumpuan kepada: Pertikaian tanda dagangan Oracle dengan Deno, objek masa JavaScript baru disokong oleh pelayar, kemas kini Google Chrome, dan beberapa alat pemaju yang kuat. Mari mulakan! Pertikaian tanda dagangan Oracle dengan percubaan Deno Oracle untuk mendaftarkan tanda dagangan "JavaScript" telah menyebabkan kontroversi. Ryan Dahl, pencipta Node.js dan Deno, telah memfailkan petisyen untuk membatalkan tanda dagangan, dan dia percaya bahawa JavaScript adalah standard terbuka dan tidak boleh digunakan oleh Oracle

Apakah API cache dan bagaimana ia digunakan dengan pekerja perkhidmatan? Apakah API cache dan bagaimana ia digunakan dengan pekerja perkhidmatan? Jul 08, 2025 am 02:43 AM

CACHEAPI adalah alat yang disediakan oleh penyemak imbas kepada permintaan rangkaian cache, yang sering digunakan bersempena dengan ServiceWorker untuk meningkatkan prestasi laman web dan pengalaman luar talian. 1. Ia membolehkan pemaju menyimpan sumber secara manual seperti skrip, helaian gaya, gambar, dan lain -lain; 2. Ia boleh memadankan tindak balas cache mengikut permintaan; 3. Ia menyokong memotong cache tertentu atau membersihkan seluruh cache; 4. Ia boleh melaksanakan keutamaan cache atau strategi keutamaan rangkaian melalui perkhidmatan pekerja yang mendengar acara mengambil; 5. Ia sering digunakan untuk sokongan luar talian, mempercepat kelajuan akses berulang, sumber utama dan kandungan kemas kini latar belakang; 6. Apabila menggunakannya, anda perlu memberi perhatian kepada kawalan versi cache, sekatan penyimpanan dan perbezaan dari mekanisme caching HTTP.

Mengendalikan Janji: Chaining, Pengendalian Kesalahan, dan Janji Gabungan di JavaScript Mengendalikan Janji: Chaining, Pengendalian Kesalahan, dan Janji Gabungan di JavaScript Jul 08, 2025 am 02:40 AM

Janji adalah mekanisme teras untuk mengendalikan operasi tak segerak dalam JavaScript. Memahami panggilan rantaian, pengendalian ralat dan gabungan adalah kunci untuk menguasai aplikasi mereka. 1. Panggilan rantai mengembalikan janji baru melalui .then () untuk merealisasikan persamaan proses tak segerak. Setiap .then () menerima hasil sebelumnya dan boleh mengembalikan nilai atau janji; 2. Pengendalian ralat harus menggunakan .catch () untuk menangkap pengecualian untuk mengelakkan kegagalan senyap, dan boleh mengembalikan nilai lalai dalam tangkapan untuk meneruskan proses; 3. Gabungan seperti janji.all () (berjaya hanya berjaya selepas semua kejayaan), janji.race () (penyempurnaan pertama dikembalikan) dan janji.allsettled () (menunggu semua penyelesaian)

Memanfaatkan array.prototype Kaedah untuk manipulasi data dalam javascript Memanfaatkan array.prototype Kaedah untuk manipulasi data dalam javascript Jul 06, 2025 am 02:36 AM

Kaedah terbina dalam JavaScript seperti .map (), .filter () dan .reduce () dapat memudahkan pemprosesan data; 1) .map () digunakan untuk menukar elemen satu hingga satu untuk menghasilkan tatasusunan baru; 2) .filter () digunakan untuk menapis elemen mengikut keadaan; 3) .reduce () digunakan untuk mengagregatkan data sebagai nilai tunggal; Penyalahgunaan harus dielakkan apabila digunakan, mengakibatkan kesan sampingan atau masalah prestasi.

JS Roundup: menyelam jauh ke dalam gelung acara JavaScript JS Roundup: menyelam jauh ke dalam gelung acara JavaScript Jul 08, 2025 am 02:24 AM

Gelung acara JavaScript menguruskan operasi tak segerak dengan menyelaraskan susunan panggilan, webapis, dan barisan tugas. 1. Stack panggilan melaksanakan kod segerak, dan ketika menghadapi tugas -tugas yang tidak segerak, ia diserahkan kepada Webapi untuk diproses; 2. Selepas Webapi melengkapkan tugas di latar belakang, ia meletakkan panggil balik ke dalam barisan yang sama (tugas makro atau tugas mikro); 3. Loop acara memeriksa sama ada timbunan panggilan kosong. Jika ia kosong, panggilan balik diambil dari barisan dan ditolak ke dalam tumpukan panggilan untuk pelaksanaan; 4. Tugas -tugas mikro (seperti janji. 5. Memahami gelung acara membantu mengelakkan menyekat benang utama dan mengoptimumkan pesanan pelaksanaan kod.

Memahami acara menggelegak dan menangkap dalam acara DOM JavaScript Memahami acara menggelegak dan menangkap dalam acara DOM JavaScript Jul 08, 2025 am 02:36 AM

Gelembung peristiwa menyebarkan dari elemen sasaran ke luar ke nod nenek moyang, sementara penangkapan peristiwa menyebarkan dari lapisan luar ke dalam ke elemen sasaran. 1. Bubbles Acara: Selepas mengklik elemen kanak -kanak, acara itu mencetuskan pendengar elemen induk ke atas. Sebagai contoh, selepas mengklik butang, ia mengeluarkan anak -anak terlebih dahulu, dan kemudian ParentClicked. 2. Tangkap Acara: Tetapkan parameter ketiga menjadi benar, supaya pendengar dilaksanakan di peringkat penangkapan, seperti mencetuskan pendengar penangkapan elemen induk sebelum mengklik butang. 3. Penggunaan praktikal termasuk pengurusan bersatu peristiwa elemen kanak -kanak, pemprosesan pemintasan dan pengoptimuman prestasi. 4. Aliran acara DOM dibahagikan kepada tiga peringkat: menangkap, sasaran dan gelembung, dan pendengar lalai dilaksanakan di peringkat gelembung.

See all articles