Short Circuit Array.forEach: Meneroka Kaedah Gangguan Alternatif
Dalam paradigma pengaturcaraan tradisional, pernyataan putus membenarkan penamatan gelung atau kawalan serta-merta blok aliran. Walau bagaimanapun, kaedah forEach baharu dalam JavaScript tidak mempunyai persamaan terbina dalam. Ini menimbulkan persoalan: bagaimanakah kita boleh meniru gelagat pemecahan dalam konteks forEach?
Percubaan sebelum ini untuk melaksanakan pemecahan manual menggunakan return, return false atau break telah terbukti tidak berjaya. Pemulangan tidak menghentikan lelaran dan memecahkan mengakibatkan ralat masa jalan.
Nasib baik, terdapat penyelesaian alternatif yang memanfaatkan pengendalian pengecualian. Dengan melontar pengecualian tersuai, kita boleh membuat litar pintas gelung forEach dengan berkesan. Berikut ialah contoh:
var BreakException = {}; try { [1, 2, 3].forEach(function(el) { console.log(el); if (el === 2) throw BreakException; }); } catch (e) { if (e !== BreakException) throw e; }
Pengecualian tersuai BreakException dibuat seketika dan dilemparkan dalam panggilan balik forEach apabila syarat yang diingini dipenuhi. Ini menyebabkan blok cuba menghentikan pelaksanaan dan meneruskan ke blok tangkapan, dengan berkesan mengganggu gelung. Adalah penting untuk mengendalikan ralat selain daripada BreakException dalam blok tangkapan untuk mengelakkan tingkah laku yang tidak dijangka.
Atas ialah kandungan terperinci Bagaimana untuk membuat litar pintas JavaScript untuk Setiap Gelung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!