Rumah  >  Artikel  >  hujung hadapan web  >  Pelbagai teknik untuk menggunakan teknik JavaScript ternary operator_javascript

Pelbagai teknik untuk menggunakan teknik JavaScript ternary operator_javascript

WBOY
WBOYasal
2016-05-16 16:03:421349semak imbas

Saya mendapati bahawa apabila saya menulis terlalu banyak kod, saya secara tidak sedar akan menggantikan jika lain dengan ternary Ia hanya menjadikan kod lebih ringkas dan tajam Sudah tentu, sesetengah orang mengatakan bahawa menggunakan ternary boleh membuat anda mempunyai klimaks. Saya juga merasakan perkara ini semasa saya menulis js baru-baru ini, dan saya mengumpul beberapa petua untuk dikongsi.

Big Bird, sila langkau perenggan berikut, Big Bird boleh bantu betulkan ^__^

====Barisan Popular====

Ekspresi (expr1) ? (expr2) : (expr3)

Nilai ialah expr2 apabila expr1 menilai kepada TRUE dan nilainya ialah expr3 apabila expr1 menilai kepada FALSE.

============

Penggunaan biasa

Apabila anda mendapati bahawa anda sering menggunakan jika lain

Salin kod Kod adalah seperti berikut:

jika(Terima kasih, Abang Chun || Terima kasih, Maharaja Peperiksaan){
Jangan gagal;
}lain{
Gantung pintu;
}

Maka perwakilan ternary ialah
Salin kod Kod adalah seperti berikut:

Sembah Abang Chun ||. Sembah maharaja peperiksaan Jangan gagal peperiksaan: Menmenhang

Ia sangat bagus untuk mencari banyak kod yang berwawasan.

Selalunya terdapat pertimbangan seperti itu dalam kehidupan seharian, terutamanya apabila terdapat banyak sarang Penggunaan ternary adalah lebih harmoni, yang boleh menjadikan kod anda kelihatan lebih menyegarkan dan mempunyai struktur yang jelas.

Penggunaan yang lebih bijak sedikit
Melalui perubahan berterusan, banyak penggunaan ternary boleh diperolehi. Kod jquery berikut

Salin kod Kod adalah seperti berikut:

bendera ? $('body').addClass('hover'): $('body').removeClass('hover') ;

Lebih sesat lagi.
Salin kod Kod adalah seperti berikut:

$('.item')[ bendera ? 'addClass' : 'removeClass']('hover')

Kod di atas kelihatan mengelirukan. Kerana apabila bendera = benar, kod tersebut menjadi kod berikut:
Salin kod Kod adalah seperti berikut:

$('.item')['addClass']('hover')

Cara penulisan ini setara dengan.
Salin kod Kod adalah seperti berikut:

$('.item').addClass('hover')

Naik taraf semula

Anda boleh memanggil fungsi yang anda mahukan mengikut keperluan untuk mengendalikan lebih banyak perkara.

Salin kod Kod adalah seperti berikut:

fungsi a(){
buat sesuatu
}
fungsi b(){
buat sesuatu
}

bendera ? a() : b();

Kemudian badan lengkap guru

Jadi terdapat kes sedemikian, dua butang, satu untuk tingkah laku ke hadapan dan satu untuk tingkah laku ke belakang. Fungsi operasi adalah hampir sama.

Salin kod Kod adalah seperti berikut:

var action_turn = fungsi(e, jenis){
        var self = $(e).closest('li');
        var target = self[type === 'prev' ? 'prev' : 'next']();
          target.addClass('has-img');
          self.removeClass('has-img')
}

var btn_next = $('#item-photo-panel a.next')
btn_next.click(function(){
        action_turn(ini, 'seterusnya');
         kembali palsu;
});
var btn_prev = $('#item-photo-panel a.prev')
btn_prev.click(function(){
        action_turn(ini, 'sebelumnya');
         kembali palsu;
});


Perkara yang perlu dielakkan
Salin kod Kod adalah seperti berikut:

makluman( benar ? 'benar' : palsu ? 't' : 'f' )

Apa yang saya maksudkan ialah cuba mengelakkan ternary bersarang seperti di atas, kerana dalam js pernyataan adalah dari kanan ke kiri, dan kod di atas adalah bersamaan dengan
Salin kod Kod adalah seperti berikut:

alert( benar ? 'benar' : ( palsu ? 't' : 'f' ) )

Sebagai contoh, dalam PHP, hasilnya berbeza sama sekali Apabila bersarang tiga elemen, yang kiri diberi keutamaan.
Salin kod Kod adalah seperti berikut:

echo (( benar ? 'benar' : palsu ) ? 't' : 'f' ) //php

tip:
Selain itu, saya mendapati bahawa ternary dalam php mempunyai gesaan sedemikian

Nota: Ambil perhatian bahawa pengendali ternary ialah pernyataan, jadi penilaiannya bukan pembolehubah, tetapi hasil pernyataan. Ini penting jika anda ingin mengembalikan pembolehubah melalui rujukan. Pernyataan mengembalikan $var == 42 ? $a : $b dalam fungsi yang dikembalikan melalui rujukan tidak akan berfungsi, dan versi PHP akan datang akan mengeluarkan amaran tentang ini.

Walau bagaimanapun, selepas ujian, saya mendapati bahawa pendekatan di atas boleh berfungsi dalam javascript Ini mungkin kerana js tidak seketat BT berbanding 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