Rumah >hujung hadapan web >tutorial js >Bila dan Mengapa Anda Perlu Menggunakan Pernyataan \'dengan\' JavaScript?
Menyingkap Faedah Potensi Pernyataan "dengan" JavaScript di luar Perangkapnya
Pernyataan "dengan" JavaScript, yang sering dianggap dengan keraguan, memang menawarkan aplikasi praktikal apabila digunakan dengan teliti. Seperti yang ditunjukkan oleh maklum balas bernas Alan Storm, mari kita terokai contoh di mana "dengan" membuktikan nilainya.
Mencipta Pembolehubah Berskop Blok
Sebelum pengenalan "let" dalam ES6, JavaScript tidak mempunyai skop blok sebenar. Halangan ini boleh membawa kepada perlanggaran pembolehubah yang tidak dijangka dalam gelung, seperti dalam kod berikut:
for (var i=0; i<3; ++i) { var num = i; setTimeout(function() { alert(num); }, 10); }
Menggunakan "dengan", walau bagaimanapun, kita boleh mensimulasikan skop blok dengan berkesan:
for (var i=0; i<3; ++i) { with ({num: i}) { setTimeout(function() { alert(num); }, 10); } }
Di sini, setiap lelaran gelung mempunyai pembolehubah "num" diskretnya sendiri, menyelesaikan isu pembolehubah konflik.
Kes Penggunaan Sah Lain
Di luar potensinya untuk skop blok, pernyataan "dengan" mendapati kegunaan dalam pelbagai situasi:
Memudahkan Akses Objek: "dengan" membenarkan secara ringkas mengakses sifat objek bersarang:
with(obj) { console.log(name + " is " + age + " years old."); }
Menguruskan Pembolehubah Instance Peribadi: Enkapsulasi boleh dipertingkatkan menggunakan "dengan" untuk mencipta pembolehubah contoh pseudo-peribadi dalam objek:
function Person(name, age) { with(this) { this.name = name; this.age = age; } }
Adalah penting untuk menekankan bahawa "dengan" harus digunakan dengan bijak, kerana potensi kelemahannya boleh menjadi besar. Menggunakannya dengan berhati-hati dan dengan pemahaman yang jelas tentang implikasinya memastikan manfaatnya melebihi risikonya. Dengan menerima kes penggunaan yang sah ini, pembangun boleh memanfaatkan kuasa "dengan" dalam JavaScript sambil mengurangkan masalahnya.
Atas ialah kandungan terperinci Bila dan Mengapa Anda Perlu Menggunakan Pernyataan \'dengan\' JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!