JavaScript adalah bahasa skrip milik jaringan!
JavaScript digunakan oleh jutaan halaman web untuk meningkatkan desain, memverifikasi formulir, mendeteksi browser, membuat cookie, dan banyak lagi.
JavaScript adalah bahasa skrip paling populer di internet.
JavaScript mudah digunakan! Anda akan menyukainya!
JavaScript adalah bahasa skrip yang ditafsirkan dengan sintaks yang fleksibel, memungkinkan orang yang berbeda untuk menulis fungsi yang berbeda dalam berbagai cara. Bagaimana cara mengatur kode JavaScript sehingga orang lain dapat melihat sekilas bahwa Anda tidak sederhana? Apakah Anda menantikan orang lain menghela nafas setelah membaca kode Anda, "Ternyata Anda bisa menulis dengan cara ini"?
N Cara Menulis Fungsi Anonim
Fungsi anonim JS adalah fungsi yang dieksekusi sendiri dengan nama fungsi yang tidak diumumkan, dan formatnya adalah sebagai berikut:
(fungsi(){})();Bahkan, kita sering menempatkan ";" Di depan proyek:
;fungsi(){}();Karena sintaks JS dapat menghilangkan titik koma, tetapi mekanisme ini juga dapat menyebabkan kesalahan yang tidak terduga. Untuk menghindari kesalahan sintaks yang disebabkan oleh penggabungan dan mengompresi kode ke dalam file setelah diluncurkan, menambahkan ";" dapat menghindari kesalahan yang tidak diketahui.
Tetapi kadang-kadang kita melihat bahwa perpustakaan atau plug-in orang lain menulis fungsi anonim seperti ini:
+function () {} ();"+" adalah operator di sini, dan operator memiliki prioritas yang sangat tinggi, sehingga bagian dari deklarasi fungsi di sebelah kanan dengan tanda kurung (sebenarnya cara untuk menulis eksekusi fungsi) dieksekusi secara langsung. Faktanya, itu tidak hanya tanda "+" di depan, tetapi operator seperti "-", "!", "~", Dan "++" dapat digunakan. Di sini kami hanya pengantar ekstensi. Metode penulisan spesifik mana yang digunakan tergantung pada standar tim terpadu.
Abandon Math.Ceil () dan Math.floor Rounding
Mungkin saya telah melihat dua simbol ini ~~ dan | 0 dalam kode lain, dan lihat hasil berjalan secara langsung:
>> var a1 = 1.23 >> ~~ a11 >> var a2 = 2.345 >> a2 | 02 >> var a3 = -3.45 >> ~~ a3-3 >> var a4 = -4.5 >> a4 | 0-4
Perhatikan bahwa metode penulisan ini tidak asli, tetapi hanya dikutip untuk menganalisis dan menjelaskan metode penulisan alternatif ini. Penjelasan sederhana adalah bahwa ~ adalah operator terbalik bitwise, yang dapat mengubah angka titik mengambang menjadi bilangan bulat dengan membuang semua bit setelah titik desimal. Bilangan bulat positif dapat dikonversi menjadi nilai heksadesimal yang tidak ditandatangani. Kemudian terbalik (~~) negatif dan negatif lagi untuk menjadi positif, dan mendapatkan bilangan bulat asli. Hanya saja dia sangat disengaja dan tidak terkendali. Apakah Anda pikir itu optimasi?
Catatan: Jika Anda perlu melakukan operasi pembulatan yang ketat, Anda harus menggunakan metode ini dengan hati -hati, maka Anda masih harus menggunakan fungsi matematika.
Jika dan yang lain bukan satu -satunya
Menggunakan kondisi IF-Else adalah logika yang sangat jelas, itu tidak terlihat sangat ringkas saat memproses data tidak besar:
if (a === 1) {// Sangat disarankan untuk menggunakan simbol yang sama sama "===" di sini, dan konversi jenis tidak akan dilakukan a = 2} lain jika (a === 3) {a = 4} else {a = 5}Lihatlah yang berikut untuk digunakan || dan && untuk membuat kode menurunkan berat badan:
((a === 1) && (true, a = 2)) || ((a === 3) && (true, a = 4)) || (a = 5)
Ini akan dilakukan dalam satu baris dan Anda akan berhasil menurunkan berat badan. || dan &&, prinsip sederhananya belum lagi. Tidak mudah dimengerti saat menggunakan operator koma. Anda dapat terus mengubahnya menjadi operator ternary:
(a === 1)? A = 2 :( (A === 3)? (A = 4): (A = 5))
Cara menulis ini tampaknya cukup disederhanakan, tetapi akan sedikit sulit bagi orang lain untuk melihat kode Anda.
Ganti struktur dom jahitan string yang mengganggu dengan tostring
Jika kami ingin secara dinamis menghasilkan struktur DOM, kami umumnya mengimplementasikannya seperti ini:
var template = "<div>"+ "<h2> {title} </h2>"+ "<div class = 'content' yattr = ''> {content} </div>"+ "</div>"Jika berbagai atribut dan parameter ditambahkan, mudah untuk melaporkan kesalahan ketika kutipan besar dan kecil bingung. Namun, ES6 menyediakan string template untuk membantu kami menyelesaikan masalah ini, Anda dapat menulisnya seperti ini:
var template = <dv> <h2> {title} </h2> <div class = 'content' yattr = ''> {content} </div> </div>Tetapi masalahnya adalah bahwa ES6 belum secara resmi tiba ... jangan takut, fungsi. Tostring akan menyelesaikan rasa malu ketika kita tidak terhubung:
var rcomment = /////*([/s/s]*?)/*///; // Multiply Function String MS (fn) {return fn.toString (). Match (rComment) [1]}; ms (function () {/ * <div> <h2> {title} </h2> <div class = 'content' yattr = ''> {content} </div> </div> */}))Output di sini sama dengan output string sebelumnya. Pemrogram front-end hanya perlu memperhatikan struktur DOM mereka sendiri.
Tambahkan Dukungan Modul AMD, Kode Prompt B
Deklarasikan spesifikasi modul AMD (Definisi Modul Asynchronous) ke kode yang Anda tulis, sehingga orang lain dapat memuat modul Anda secara langsung melalui spesifikasi AMD. Jika orang lain tidak memuat modul Anda melalui spesifikasi, Anda juga dapat secara elegan mengembalikan objek global biasa. Mari kita lihat metode penulisan jQueryui:
(function (pabrik) {if (typeOf define === "function" && define.amd) {// mode AMD. dan mengandalkan plug-in "jQuery" define (["jQuery"], factory);} else {// browser mode global (jQuery);}} (function ($) {// browser Mode Global (jQuery);}} (function ($) {// browser Mode global (jQuery);}} (function ($) {// browser Mode global (jQuery);}} (function ($) {// browser Mode Global (jQuery);Ubah ke struktur modul AMD untuk membuat kode Anda lebih cocok untuk dependensi skrip pemuatan sisi browser. Tulis kode dalam format ini untuk memastikan bahwa orang lain tahu bahwa Anda adalah pengembang profesional segera setelah Anda melihat kode.
Metode warisan terbaik
JavaScript memiliki lebih dari sepuluh metode warisan, baik besar maupun kecil. Keuntungan dan kerugian dari setiap metode penulisan berbeda, dan setiap metode tidak terdaftar satu per satu. Ambil metode warisan umum sebagai contoh, prototipe warisan:
function parent () {} function child () {} child.prototype = parent.prototypeChild.prototype.constructor = anak;Metode ini sebenarnya menunjukkan pointer yang disimpan di Child.Prototype dan Parent.prototype ke objek yang sama, jadi jika beberapa properti diperluas dalam prototipe objek anak sehingga prototipe objek induk akan terus diwariskan nanti, prototipe objek induk juga akan ditulis ulang. Jadi untuk menyelesaikan masalah ini, cobalah untuk meminjam metode penulisan konstruktor sementara:
fungsi kosong () {} kosong.prototype = parent.prototype; child.prototype = new empt (); child.prototype.constructor = child;Dengan cara ini, properti dan metode prototipe objek induk sendiri dilindungi. "Optimal" agak berlebihan, tetapi sebagai perbandingan. Saya percaya bahwa setiap orang memiliki gaya penulisan mereka sendiri, dan ada juga kelebihan dan kerugian dari panggilan pinjaman dan berlaku untuk mengimplementasikan warisan atribut. Panjangnya terbatas dan saya tidak akan memperkenalkan mereka satu per satu.
Meringkaskan
Semua metode penulisan alternatif dari JavaScript yang disebutkan di atas adalah gula sintaks untuk efisiensi yang mudah dipahami atau ditingkatkan. Metode semacam itu lebih disukai, seperti praktik menghilangkan if-else seperti yang disebutkan di atas. Beberapa dirancang untuk meningkatkan kompatibilitas dan kinerja kode kami, seperti AMD dan metode warisan. ... Saya seorang pemula, dan tentu saja ada beberapa konten yang tidak lengkap dan tidak dapat dijelaskan dalam konten di atas.
Konten di atas adalah pengantar terkait untuk metode penulisan alternatif untuk JavaScript, saya harap ini akan membantu semua orang!