Uglifyjs adalah alat untuk mengompresi dan mempercantik JavaScript. Dalam dokumentasinya, saya melihat beberapa cara untuk mengoptimalkan pernyataan jika. Meskipun saya belum menggunakannya untuk melakukan beberapa tes percobaan, kita dapat melihat dari sini bahwa itu memang mempercantik JS. Beberapa orang mungkin berpikir bahwa jika pernyataan sesederhana itu, berapa banyak yang dapat mereka dioptimalkan? Tetapi lihatlah cara -cara berikut dan Anda dapat mengubah pikiran Anda.
1. Gunakan operator terner umum
if (foo) bar (); lain Baz (); ==> foo? bar (): baz ();
if (! foo) bar (); lain Baz (); ==> foo? Baz (): bar ();
if (foo) return bar (); lain return baz (); ==> return foo? bar (): baz ();
Anda pasti terbiasa dengan penggunaan operator terner di atas untuk mengoptimalkan pernyataan jika Anda sering menggunakannya.
Contoh yang diberikan oleh wulin.com:
Salinan kode adalah sebagai berikut:
<script>
var i = 9
var ii = (i> 8)? 100: 9;
peringatan (ii);
</script>
Hasil output:
100
2. Gunakan dan (&&) dan atau atau (||) operator
if (foo) bar (); ==> foo && bar ();
if (! foo) bar (); ==> foo || bar ();
Sejujurnya, saya tidak pernah menulis kode seperti ini. Saya telah melihat metode penulisan ini ketika saya sedang mempelajari "Bird Bird's Linux Private Vayble", tetapi saya tidak berharap untuk menerapkannya di JS.
3. Hilangkan kawat gigi keriting {}
if (foo) return bar (); lain sesuatu (); ==> {if (foo) return bar (); sesuatu()}
Saya akrab dengan metode penulisan ini, tetapi saya sarankan melakukan ini ketika mengoptimalkan kode, atau menyerahkannya ke Uglifyjs untuk membantu Anda menyelesaikannya. Lagi pula, jika Anda kekurangan satu penjepit, kode tidak dapat dibaca.
Setelah menulis ini, saya memikirkan metode oleh Bapak JQuery dalam "Menguasai JavaScript" untuk mendapatkan atribut elemen HTML.
fungsi getAttr (el, attrname) {
var attr = {'for': 'htmlfor', 'class': 'className'} [attrname] || attrname;
};
Jika kita tidak menulis dengan cara ini, kita mungkin perlu menggunakan dua pernyataan jika memprosesnya, dan kode di atas tidak hanya ringkas dan efektif, tetapi juga sangat mudah dibaca.
Jika Anda memikirkannya dengan cermat, kami dapat menemukan cara yang efektif untuk menyelesaikan masalah dalam banyak kasus, tetapi kuncinya adalah apakah kami berhati -hati untuk menemukan cara yang lebih baik.
【Keterampilan JavaScript】 Singkatan if (x == null)
if (x == null) atau if (typeof (x) == 'tidak terdefinisi') dapat disingkat seolah -olah (! x), dan tidak diverifikasi.
Sebaliknya, jika (x) berarti x tidak kosong
Tentukan apakah ada objek
Salinan kode adalah sebagai berikut:
if (document.form1.softurl9) {
// menilai apakah sofurl9 ada untuk mencegah kesalahan JS
}
Salinan kode adalah sebagai berikut:
if (document.geteLementById ("softurl9")) {
// menilai apakah sofurl9 ada untuk mencegah kesalahan JS
}
Mengisi kembali:
JavaScript || && Singkatan jika
Salinan kode adalah sebagai berikut:
<type skrip = "Teks/JavaScript">
Jika Anda ingin menulis
if (! false)
{
peringatan ('false');
}
Pertimbangkan untuk menulis:
false || peringatan ('false');
false || peringatan ('false'); Benar || waspada ('true'); // output false;
Saat menggunakan "||", kondisi pertama adalah benar, dan kondisi kedua dikembalikan langsung tanpa mendeteksi kondisi kedua. Kondisi pertama adalah salah, dan deteksi kondisi kedua akan dilakukan.
false && alert ('false'); true && alert ('true'); // output true
Saat menggunakan "&&", kondisi pertama benar dan kondisi kedua akan terdeteksi. Kondisi pertama salah, dan langsung mengembalikan salah untuk keluar.
Singkatnya, sederhana dan praktis menggantikan jika,? : Kepraktisan menggantikan jika lain. Tulis kode pendek dan ringkas
penggunaan:
$ ("#input regform [type! = hidden]"). masing -masing (
function (index) {
$ (ini) .parent (). memiliki ("div.valid-under"). Panjang || $ ('<verv> </div>'). appendto ($ (this) .parent ());
}
);
</script>