Laman » Pengekodan » 4 Penyata JavaScript yang Anda Perlu Tahu

    4 Penyata JavaScript yang Anda Perlu Tahu

    Kenyataan JavaScript memberi kita kuasa untuk melaksanakan pelbagai jenis logik dalam kod kami. JavaScript menyediakan kami dengan beberapa daripada mereka, semuanya mempunyai tujuan dan sintaksinya sendiri. Antara contoh yang paling terkenal, kita dapat mencari kenyataan ekspresi, pernyataan lelaran, pernyataan bersyarat, dan banyak lagi

    Dalam jawatan hari ini kita akan lihat empat penyata JavaScript kurang anda mungkin tidak tahu sebelum ini, tetapi dapat memperdalam pengetahuan JavaScript anda, dan membolehkan anda menulis kod yang lebih baik.

    1. Penyata Kosong

    Di tempat mana-mana penyata JavaScript, anda boleh menambah pernyataan kosong, yang ditulis sebagai satu setengah kolon ;. Apabila jurubahasa JavaScript menafsirkan pernyataan kosong, tiada kod dilaksanakan, oleh itu mereka boleh menjadi berguna Gantikan kenyataan sub-yang anda tidak mahu laksanakan.

    Contohnya, anggap ada pemboleh ubah yang dipanggil litmus dengan nilai lalai neutral. Berdasarkan nilai pembolehubah lain yang dipanggil pH, litmus perubahan sama ada berasid apabila pH < 7 or asas apabila pH> 7.

    Sekiranya nilai pH ternyata tidak sah, ralat dibuang. Untuk keadaan seperti ini, kenyataan bersyarat berikut dikenakan:

     var litmus = 'neutral'; var pH; jika (pH> 0 && pH<7) litmus = 'acidic'; else if(pH>7 && pH<15) litmus = 'basic'; else throw "Invalid pH value"; 

    Bagaimanapun set pernyataan di atas membuang ralat apabila pHNilai adalah 7, yang tidak sepatutnya berlaku.

    Bila pH adalah 7, litmus harus menyimpan nilai lalainya, iaitu neutral. Oleh itu, untuk kes seperti ini, tambahkan keadaan apabila pH adalah 7 dengan pernyataan kosong.

     var litmus = 'neutral'; var pH; jika (pH> 0 && pH<7) litmus = 'acidic'; else if(pH===7) ; /* empty statement */ else if(pH>7 && pH<15) litmus = 'basic'; else throw "Invalid pH value";

    Sekarang, bila pH adalah 7, jurubahasa tidak melaksanakan apa-apa arahan, dan litmus mengekalkan nilai asalnya, neutral.

    Kenyataan kosong juga boleh digunakan untuk mengisi array dengan bantuan untuk gelung.

     var ary = []; untuk (var i = 0; i < 5; ary[i++] = i) ; /* empty statement */ console.log(ary); // [1, 2, 3, 4, 5]

    Biasanya, a untuk Kenyataan gelung diikuti oleh sub-statement yang terdiri daripada satu atau pernyataan blok (yang disertakan dalam kurungan kurungan) untuk dilaksanakan. Dengan menggunakan pernyataan kosong sebagai pengganti pernyataan sub, jurubahasa tidak akan mempunyai apa-apa untuk melaksanakan selepas setiap gelung, jadi hanya gelung berlaku, dan keadaan gelung dapat dilaksanakan.

    Dalam contoh di atas, ary [i ++] = i melaksanakan untuk setiap lelaran gelung sebagai sebahagian daripada keadaan gelung, dan array ary mendapat instantiated dengan nilai-nilai i.

    2. The debugger Kenyataan

    Dalam alat debugging, kita boleh tambah penanda dipanggil breakpoints kepada mana-mana baris dalam kod sumber kepada tandakan garisan dari mana alat debugger akan mula debug.

    Dalam JavaScript, yang debugger pernyataan berfungsi dengan cara yang sama seperti titik putus, kecuali bahawa ia ditambah ke kod sumber secara langsung, bukannya dalam alat. Mana-mana debugger berjalan akan hentikan pelaksanaan skrip apabila ia mencapai debugger pernyataan untuk membantu anda menyahpepijat kod.

    Ingat, penyahpepijatan akan dicetuskan hanya jika skrip berjalan dalam mod debugging, iaitu program debugging sudah berjalan selama pelaksanaan skrip. Sekiranya tiada program debugger semasa sedang mentafsirkannya debugger pernyataan, jurubahasa akan meneruskan kerja seolah-olah tiada apa yang berlaku.

    Sebagai ujian cepat, jalankan kod berikut di Codepen, sambil mengekalkan alat debugger penyemak imbas terbuka:

     console.log ('tesing'); debugger; console.log ('penyahataan debug');

    Anda akan melihat titik putus selain dari debugger pernyataan seperti yang ditunjukkan di bawah di alat debugger penyemak imbas.

    3. Penyata yang Dilabel

    Dalam JavaScript, anda boleh menambah label kepada kenyataan tertentu juga. Dengan berbuat demikian, anda boleh kemudian melompat ke kenyataan berlabel menggunakan labelnya dalam kod anda, jenis seperti yang pergi ke pernyataan berfungsi dalam beberapa bahasa lain.

    Kenyataan yang dilabel hanya boleh digunakan bersama dengan pecah dan teruskan pernyataan, seperti dalam JavaScript tidak literal pergi ke pernyataan.

    Kedua-duanya pecah dan teruskan hanya boleh digunakan dalam pernyataan gelung, seperti untuk gelung (dengan satu pengecualian, pecah boleh digunakan di dalam suis pernyataan juga). Jadi, kita boleh melabelkan gelung, dan gunakan pecah dan teruskan untuk mengawal pelaksanaan mereka.

    The sintaksis kenyataan berlabel adalah mudah, anda hanya perlu menambah nama label dengan kolon berikut, kerana anda dapat melihatnya dalam contoh di bawah, di mana gelung adalah nama label yang kami tambah kepada untuk gelung.

     gelung: untuk (var i = 0; i<5; i++) if(i===2) continue loop; console.log(i); // 0, 1, 3, 4 

    Apabila nilai i adalah 2, pelaksanaan melompat kembali ke gelung bukannya meneruskan dan dengan itu menghalang output konsol “2”.

    Sekarang mari lihat contoh lain dengan pecah pernyataan. Hanya gantikan teruskan kata kunci dengan pecah dalam contoh di atas, dan anda akan melihat bahawa bukannya melompat kembali ke gelung seperti yang dilakukannya teruskan, gelung berakhir / pecah sama sekali.

     gelung: untuk (var i = 0; i<5; i++) if(i===2) break loop; console.log(i); // 0, 1 

    Contoh-contoh di atas agak mudah supaya anda dapat dengan cepat memahami bagaimana kenyataan berlabel berfungsi, tetapi dalam pengekalan kehidupan sebenar, label lebih kerap digunakan dalam gelung gabungan, apabila perlu membezakan gelung yang berbeza, seperti dalam contoh berikut:

     gelung: untuk (var i = 0; i<4; i++)  for(var j=0; j<2; j++)  if(i===2 && j===1) break loop; console.log(i+"-"+j); 

    Di sini, gelung luar rehat pada nilai 2 untuk pembolehubah i dan pada 1 untuk j, dan konsol mengembalikan output berikut:

     0-0 0-1 1-0 1-1 2-0

    4. The dengan Kenyataan

    Apabila penterjemah JS terdapat nama yang tidak layak yang tidak menentukan objek atau fungsi mana yang berkaitan dengannya mencari rantai skop bagi mana-mana objek atau fungsi yang sesuai panggilan boleh merujuk kepada.

    Dengan menggunakan dengan kenyataan, kita boleh tambah objek ke atas rantaian skop, dan nyatakan objek yang berkaitan dengannya.

    Dalam contoh berikut, anda dapat melihat bahawa sifat-sifat tersebut orang objek dipanggil menggunakan nama mereka sendiri di dalam dengan pernyataan.

     var person = firstName: "John", lastName: "Doe", umur: "18", negara: "Greenland"; dengan (orang) console.log ("Hai, nama saya" + firstName + "" + lastName + ". Saya berusia" + umur + "dan tinggal di" + negara + ".");  // "Hai, nama saya ialah John Doe, saya berusia 18 tahun, dan tinggal di Greenland."

    Bandingkan bagaimana kod di atas akan kelihatan seperti tanpa menggunakan dengan pernyataan:

     var person = firstName: "John", lastName: "Doe", umur: "18", negara: "Greenland"; console.log ("Hai, nama saya" + person.firstName + "" + person.lastName + ". Saya" + person.age + "tahun, dan tinggal di" + person.country + "." ); // "Hai, nama saya ialah John Doe, saya berusia 18 tahun, dan tinggal di Greenland."

    Anda boleh lihat, yang dengan Kenyataan boleh menjadi pintasan hebat jika anda bekerja dengan banyak sifat objek yang sama.

    Walau bagaimanapun, ambil perhatian bahawa menggunakan dengan pernyataan dalam mod yang ketat tidak dibenarkan, kerana ia boleh menyebabkan kekeliruan skop.

    Juga, ia hanya dinasihatkan untuk menggunakan dengan pernyataan jika pernyataan dalamannya menggunakan objek yang berkaitan dengan dengan pernyataan, jika tidak jurubahasa akan membuang masa memandang ke objek yang disebut oleh dengan pertama, untuk semua nama harta yang tidak layak ia kemudiannya dapati di dalamnya dengan blok.