1. Tag self-closing tanpa menggunakan skrip
Gunakan tag self-closing dalam skrip. Meskipun legal dalam XHTML, itu tidak mematuhi spesifikasi HTML dan tidak bisa mendapatkan penguraian beberapa browser yang benar. Saya menggunakan metode ini tepat ketika saya memperkenalkan EXT, yang menyebabkan skrip tidak dapat dieksekusi dengan benar.
<script src="example.js"/> --> <script src="example.js"></script>
2. Letakkan skrip di depan </body>
Jika Anda memasukkan file skrip di <head>, Anda harus mengunduh dan menjalankan skrip sebelum menampilkan halaman, yang meningkatkan waktu tunggu pengguna. Tempatkan lembar gaya di <head> untuk mencegah konten menampilkan secara tidak normal. Metode umum adalah sebagai berikut:
<! Doctype html> <html lang = "en"> <head> <meta charset = "utf-8"> <itement> dokumen </iteme> <link rel = "stylesheet" type = "text/css" href = "theme.css"/> </head> <body> <!-html code-> <css "/> </head> <body> <!-html code-> src = "example.js"/> </body> </html>
3. Gunakan mode ketat dalam fungsi
Jika Anda menggunakan mode ketat di luar fungsi, itu dapat menyebabkan kode perpustakaan dan rekan ketiga pihak ketiga gagal berfungsi dengan baik. Di dalam fungsi, itu hanya dapat memengaruhi kode Anda sendiri dan bukan kode orang lain.
fungsi myfunction () {"gunakan ketat"; // kode fungsi}4. Jangan menghilangkan titik koma di akhir pernyataan
Tidak ada titik koma di akhir kode yang dapat dengan mudah menyebabkan kesalahan kompresi. Selain itu, dalam beberapa kasus, kinerja kode dapat ditingkatkan. Penerjemah seharusnya tidak menghabiskan waktu menebak di mana harus memasukkan titik koma. Masalah lain yang lebih umum adalah bahwa secara otomatis memasukkan titik koma kadang -kadang dapat membuat kesalahan, sehingga tidak disarankan untuk menghilangkan titik koma.
5. Gunakan var untuk mendefinisikan variabel
Gunakan kata kunci VAR saat mendefinisikan variabel dan semua maju ke awal fungsi.
Manfaat melakukan ini akan mencegah secara tidak sadar membuat variabel global dan membuat kode Anda lebih mudah dipahami.
fungsi myfunction () {var result = 10 + nilai; nilai var = 10; Hasil pengembalian;}Tidak ada masalah dengan sintaks fungsi ini, tetapi tidak terlalu intuitif dan tidak sesuai dengan logika manusia. Akan lebih baik untuk memodifikasinya sebagai berikut:
funciton myfunction () {var result; nilai var; Hasil = 10 + nilai; nilai = 10; hasil pengembalian; }Izinkan saya menjelaskan kepada Anda bahwa kedua kode di atas setara, dan nilai hasilnya adalah NAN. JavaScript akan mempromosikan semua deklarasi variabel dalam fungsi ke awal fungsi. Kode 1 akan menjadi kode 2 saat kode dieksekusi. Ketika dijalankan ke hasil = 10 + nilai;, nilai nilai tidak ditentukan, dan 10 ditambahkan ke NAN, dan kemudian nilainya ditetapkan ke 10.
Setiap orang harus jelas tentang masalah yang disebabkan oleh variabel global, jika tidak konsep namespace tidak akan muncul.
6. Deklarasikan fungsi terlebih dahulu dan kemudian gunakan
Seperti deklarasi variabel, deklarasi fungsi juga diajukan oleh mesin JavaScript, jadi dalam kode, panggilan fungsi dapat muncul sebelum deklarasi fungsi. Hal lain yang patut dicatat adalah bahwa deklarasi fungsi tidak boleh muncul di blok pernyataan, seperti:
if (condition) {function myfunction () {alert ("true"); }} else {function myfunction () {alert ("false"); }} myFunction ();Ketika kami menjalankan kode, kami menemukan bahwa output akan terkait dengan browser. Ini menghasilkan benar di Chrome 51 dan Firefox 46, dan false di IE 10. Jadi cobalah untuk menghindari mendeklarasikan fungsi dalam blok pernyataan.
7. Gunakan tipe null yang diremehkan dengan hati -hati
NULL adalah nilai khusus, yang sering kita dikacaukan dengan tidak terdefinisi. Skenario berikut harus menggunakan null:
NULL tidak boleh digunakan dalam situasi berikut:
Cara terbaik untuk memahami NULL adalah dengan menggunakannya sebagai placeholder untuk objek. Alasan kami sering membingungkan nol dan tidak terdefinisi adalah bahwa kami berpikir bahwa null dan tidak terdefinisi keduanya adalah variabel yang tidak diinisialisasi, tetapi hanya tidak terdefinisi berarti bahwa variabel belum diinisialisasi, dan nol berarti bahwa ia diinisialisasi sebagai objek. Lihat kode berikut:
var orang; console.log (tipe orang); //undefinedConsole.log(typeof foo); // house undefinedvar = null; console.log (typeof house); //obyek
Jadi cobalah untuk tidak menggunakan TypeOf untuk menentukan apakah variabel diinisialisasi. Anda tidak dapat memastikan apakah variabel tidak ada atau variabel tidak diinisialisasi. Pengembalian NULL juga tidak yakin apakah variabel telah ditetapkan dengan benar, jadi berhati -hatilah untuk menggunakan TypeOF.
8. Berhati -hatilah dengan jenis angka
Saya percaya semua orang tahu bahwa bilangan bulat JavaScript mendukung nilai -nilai literal desimal, oktal, dan heksadesimal. Jika nilai numerik dalam nilai literal melebihi kisaran oktal, nol terkemuka akan diabaikan dan nilai numerik berikutnya akan diuraikan sebagai desimal.
console.log(012); //10
Console.lgo (082); // 82
Jika oktal dan heksadesimal digunakan untuk desimal, akan ada kesalahan sintaksis. Poin lain adalah literal oktal tidak valid dalam mode ketat. Semua orang tahu masalah kesalahan perhitungan titik mengambang. Ini berlaku untuk semua perhitungan titik mengambang berdasarkan nilai IEEE754, jadi jangan pernah menguji nilai titik mengambang tertentu.
Ada nilai khusus dalam jenis numerik, NAN (bukan angka), yang digunakan untuk menunjukkan bahwa nilainya seharusnya dikembalikan tetapi bukan tipe numerik. NAN dan nilai apa pun tidak sama, termasuk Nan itu sendiri. Kita dapat menggunakan fungsi isnan () untuk menguji.
9. Penugasan Dinamis Menggunakan Operasi Logis
Apa yang Anda sukai
var person = {usia: 10} var kondisi; var myvar = kondisi && person; waspada (myvar)Jika kondisi dikonversi menjadi tipe boolean false, maka myvar = kondisi, jika benar, maka myvar = orang.
var person = {usia: 10} var kondisi; var myvar = kondisi || orang; waspada (myvar)Jika kondisi dikonversi menjadi boolean dan benar, maka myvar = kondisi, jika salah, maka myvar = orang.
10. Jangan gunakan pernyataan dengan
Alasan penting untuk tidak menggunakan dengan adalah bahwa dalam mode ketat sintaks itu sendiri menonaktifkan pernyataan dengan dengan, yang juga menunjukkan bahwa komite ecmascript yakin bahwa dengan tidak boleh digunakan. Mari kita lihat contoh berikut:
var book = {judul: "JavaScript yang dapat dipelihara", penulis: "Nicholas C. Zakas"}; var message = "Buku itu"; dengan (buku) {pesan += judul; pesan + = "oleh" + penulis;}Masalah dengan kode di atas adalah sulit bagi kita untuk membedakan lokasi di mana judul dan penulis muncul, dan juga sulit untuk membedakan variabel lokal untuk ditangani dari pesan atau properti buku. Selain itu, mesin JavaScript dan alat kompresi tidak dapat mengoptimalkan kode ini, sehingga mereka tidak dapat menebak makna kode yang benar.
Oke, sudah ada sepuluh item, mari kita lihat Anda sepuluh berikutnya.