Anda mengaktifkan Javascript-StringBuilder karena Penggabungan dengan + = tidak dipotong

ini StringBuilder saya. Ada banyak seperti itu, tapi ini adalah milikku.

ehem. Oh ya, StringBuilder. Mengapa Anda perlu alat untuk membantu membangun jaringan? Karena campuran banyak string menggunakan + = benar-benar tidak efektif. Mendorong array ke string, dan kemudian datang bersama-sama dalam matriks akhir jauh lebih cepat.
Untuk analisis menarik dari perbedaan dalam kinerja, memeriksa posting ini oleh Josh Powell.

Untuk titik. Untuk memudahkan menambahkan untuk bergabung dan pengaturan string, saya membuat versi dari kelas NET StringBuilder JavaScript. Ini dia:

 var = {alat getStringBuilder: function () {var Data = []; var counter = 0; {// Menambahkan string kembali aneksasi StringBuilder adalah: function (s) data {[kontra ++] = s; kembali ini; } // Hapus item dari itu, dan jika satu atau dihilangkan penghapusan j: fungsi (i, j) {data.splice (i, j || 1); kembali ini; } // Tambah rantai dan masukkan di Inggris: fungsi (i, dan) {data.splice (0, s); kembali ini; } // ToString untuk memasok: peran (s) {kembali data.join (dan || & amp; amp; quot; & amp; quot;); kembali ini; }}; }}; 

"Tools" item serta pendapat kemungkinan mereka, adalah di mana saya ingin menyimpan fitur saya yang paling berguna seperti ini. Penggunaannya cukup sederhana:

 var SB = tools.getStringBuilder (); sb.Append (& amp; quot; adalah & amp; quot;); sb.Append (& amp; quot; Tidak & amp; quot;); sb.Append (& amp; quot; teman & amp; quot;); sb.ToString var salam = (); 

Atau jika Anda benar-benar menyukai gaya jQuery metode chaining:

 ucapan var = tools.getStringBuilder () Append (& amp ; quot; adalah & amp; quot;) Append (& amp; quot; Tidak & amp; quot;) Append (& amp; quot; teman & amp; quot;) .ToString (); 

Dan hanya itu!

(Ya, saya menyadari bahwa saya bukan yang pertama untuk menulis StringBuilder JavaScript. Tapi tidak seperti ini, jadi saya akan blog pula).


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>