Saya baru-baru ini memperhatikan bahwa banyak file JavaScript di Web mulai dengan ;
segera mengikuti bagian komentar.
Misalnya, kode plugin jQuery ini dimulai dengan:
/**
* jQuery.ScrollTo
* Copyright (c) 2007-2008 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
* Dual licensed under MIT and GPL.
* Date: 9/11/2008
.... skipping several lines for brevity...
*
* @desc Scroll on both axes, to different values
* @example $('div').scrollTo( { top: 300, left:'+=200' }, { axis:'xy', offset:-20 } );
*/
;(function( $ ){
Mengapa file harus dimulai dengan ;
? Saya melihat konvensi ini di file JavaScript sisi-server juga.
Apa kelebihan dan kekurangan dari melakukan ini?
return
pernyataan sebagai hal terakhir dalam sebuah skrip, bukan? Kembali di tingkat atas tidak masuk akal. Itu harus menjadi sesuatu yang lain, bukan?return
pernyataan tidak dijalankan, sehingga tidak masuk akal untuk concatenate. Setidaknya ada yang}
hilang.Saya percaya (meskipun saya tidak yakin, jadi tolong jangan menerkam saya) bahwa ini akan memastikan pernyataan sebelumnya dari file yang berbeda ditutup. Dalam kasus terburuk, ini akan menjadi pernyataan kosong, tetapi dalam kasus terbaik itu bisa menghindari mencoba melacak kesalahan dalam file ini ketika pernyataan yang belum selesai benar-benar datang dari atas.
sumber
Pertimbangkan contoh ini:
Apa yang akan terjadi adalah itu akan dievaluasi seperti ini:
Terserah
a
yang kembali akan diperlakukan sebagai fungsi yang dicoba diinisialisasi.Ini sebagian besar untuk mencegah kesalahan ketika mencoba menggabungkan file multiply menjadi satu file:
a.js
b.js
Jika kita menyatukan file-file ini bersama-sama itu akan menyebabkan masalah.
Jadi karena itu ingatlah untuk menempatkan Anda
;
di depan(
dan mungkin juga beberapa tempat lain. Btw.var a = 1;;;var b = 2;;;;;;;;;var c = a+b;
adalah JavaScript yang benar-benar validsumber