Rumah >hujung hadapan web >tutorial js >Cara Menulis Ekspresi Keadaan JavaScript Lebih Cepat

Cara Menulis Ekspresi Keadaan JavaScript Lebih Cepat

尊渡假赌尊渡假赌尊渡假赌
尊渡假赌尊渡假赌尊渡假赌asal
2025-03-10 00:32:12899semak imbas

3Terdapat ciri pengoptimuman yang menarik dalam JavaScript yang tidak semestinya digunakan dalam bahasa lain. Pertimbangkan contoh kod berikut:

var x = 10;
var y = true;

if (x*x > 1000 || y) alert("true!");
Seperti yang anda harapkan, "benar" adalah output kerana y adalah benar - walaupun keadaan pertama gagal. JavaScript jurubahasa menganalisis setiap keadaan mengikut urutan. Jika kita menukar x menjadi 100, x*x akan lebih besar daripada 1000 dan menilai kepada benar. Tetapi, kerana kita menggunakan logik atau (||), penterjemah tidak perlu menganalisis y - ungkapan mesti benar supaya amaran dipaparkan. Oleh itu, kita dapat mengoptimumkan ungkapan untuk memastikan mereka yang memerlukan pemprosesan paling sedikit dianalisis terlebih dahulu, iaitu.
if (y || x*x > 1000) alert("true!");
Sekiranya Y adalah benar, jurubahasa tidak perlu menilai keadaan kedua. Itu boleh menjimatkan masa yang cukup, terutamanya jika kita memanggil fungsi, melakukan pengiraan intensif atau menganalisis DOM. Pengoptimuman yang sama berlaku untuk logik dan (&&). Dalam hal ini, ungkapan pertama yang menilai palsu menjadikan keseluruhan keadaan palsu - tidak ada pemprosesan selanjutnya.

Tugasan di dalam keadaan

James Edwards baru -baru ini menulis tugasan artikel dalam keadaan di mana dia membincangkan kod seperti ...
if (summary = document.getElementById("post-summary")) {
	alert(summary.innerHTML);
}
Ringkasan Pembolehubah ditetapkan kepada elemen HTML dengan ID "pasca-Summary". Jika elemen wujud, keadaan menilai benar dan amaran muncul. Sekiranya elemen tidak dapat dijumpai, keadaan menilai palsu dan tidak ada kod bersyarat yang dilaksanakan. Ini teknik yang berguna walaupun, menurut komen, beberapa pemaju menyukai amalan ini kerana ia menjadikan JavaScript lebih sukar dibaca dan debug. Walau bagaimanapun, terdapat satu lagi isu - dengan 2 atau lebih syarat, tugasan anda tidak boleh dilaksanakan. Contohnya:
if (x || y = functionY()) {
	alert(y);
}
Jika X menilai kepada benar, jurubahasa tidak pernah memberikan nilai kepada Y dan amaran akan sentiasa membuang kesilapan. Kita boleh memperbaikinya dengan membalikkan keadaan supaya y sentiasa dinilai, mis.
if (y = functionY() || x) …
Walaupun begitu, ia masih boleh menyebabkan kekeliruan kerana tidak jelas bahawa pesanan syarat -syarat ini penting. Seorang pemaju yang membaca bahagian atas artikel ini mungkin cuba mengoptimumkan kod dengan menilai X terlebih dahulu! Ringkasnya, jika anda ingin menggunakan tugasan di dalam keadaan, teruskan - tetapi pastikan ia adalah satu -satunya syarat yang anda perlukan!

soalan yang sering ditanya mengenai ekspresi keadaan JavaScript yang lebih cepat

Apakah ekspresi bersyarat JavaScript? Ia adalah cara tersendiri untuk menulis pernyataan if-else. Ia berstruktur seperti berikut: keadaan? value_if_true: value_if_false. Keadaan ini dinilai terlebih dahulu. Jika benar, ungkapan itu mengembalikan nilai_if_true. Jika ia palsu, ia mengembalikan value_if_false.

Bagaimanakah JavaScript menilai logik dan (&&) dan atau (||) pengendali? Bagi pengendali dan, jika pengendali pertama adalah palsu, JavaScript tidak menilai operan kedua dan mengembalikan operan pertama. Bagi pengendali atau pengendali, jika pengendali pertama adalah benar, JavaScript tidak menilai pengendali kedua dan mengembalikan operan pertama. (lebih besar daripada), = (lebih besar daripada atau sama dengan), dan if (syarat) {

// kod yang akan dilaksanakan jika keadaan itu benar

} else {

// kod yang akan dilaksanakan jika keadaan itu palsu

JavaScript?

Pengendali logik tidak (!) Di JavaScript digunakan untuk membalikkan hasil boolean dari keadaan. Sebagai contoh, jika keadaan benar, keadaan akan kembali palsu, dan sebaliknya. Walau bagaimanapun, penting untuk diperhatikan bahawa pengendali ternary bersarang boleh membuat kod anda lebih sukar untuk dibaca dan difahami, jadi ia harus digunakan dengan berhati -hati. Ini cara yang lebih berkesan untuk menulis banyak lagi jika keadaan. Sintaks adalah seperti berikut:

suis (ekspresi) { case x:

// blok kod

break;

kes y:

// blok kod

break; Jika ada perlawanan, blok kod yang sepadan dilaksanakan.

Apakah perbezaan antara NULL dan Undefined dalam JavaScript?

Dalam JavaScript, NULL adalah nilai tugasan yang bermaksud tiada nilai atau tiada objek. Ia adalah ketiadaan yang disengajakan terhadap sebarang nilai objek. Sebaliknya, undefined bermakna pembolehubah telah diisytiharkan tetapi belum diberikan nilai. Jika pembolehubah tidak ditakrifkan, TypeOf akan kembali "Undefined". Berikut adalah contoh:

if (typeof myvar! == "undefined") { // myvar ditakrifkan

} else {

// myvar tidak ditakrifkan

}

Atas ialah kandungan terperinci Cara Menulis Ekspresi Keadaan JavaScript Lebih Cepat. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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