mata teras
str = "a" + "b"; str += "c"; str = str.concat("d", "e");
str = ["a", "b", "c", "d", "e"].join("");
Sambungkan sebilangan besar rentetan
Pertimbangkan contoh -contoh berikut dengan fungsi yang sama. Yang pertama menggunakan pengendali penyambungan rentetan:
// 标准字符串追加 var str = ""; for (var i = 30000; i > 0; i--) { str += "String concatenation. "; }
// 数组连接 var str = "", sArr = []; for (var i = 30000; i > 0; i--) { sArr[i] = "String concatenation. "; } str = sArr.join("");
Masalahnya terletak
IE7 adalah pelayar ketiga terbesar di dunia dengan pangsa pasar sebanyak 14%. IE6 menyumbang 8%lagi. Jika anda telah berhenti menyokong aplikasi yang sudah lapuk ini, anda tidak perlu terus membaca. Masih di sini? Mengejutkan: IE7 dan di bawah Gunakan pengendali penggabungan yang menduplikasi rentetan, menghasilkan pertumbuhan eksponen dalam masa dan penggunaan memori. Kod yang menggunakan pengendali sambungan mengambil masa kira -kira 2.5 minit (150,000 milisaat) untuk dilaksanakan, dan penyemak imbas tetap tidak bertindak balas sepanjang proses. Sebagai perbandingan, penyambungan array dilakukan dalam 200 milisaat -lebih 800 kali lebih cepat. Jika anda menyokong IE7, penyambungan array masih merupakan cara terbaik untuk menyambungkan sejumlah besar rentetan. bagaimana dengan php? Sila nantikan hasil ujian ...
Soalan Lazim Mengenai JavaScript String Concatenation
Concatenation String adalah konsep asas dalam JavaScript yang digunakan untuk menggabungkan dua atau lebih rentetan. Ia penting kerana ia membolehkan pemaju membuat rentetan dinamik, yang penting untuk membuat laman web interaktif. Sebagai contoh, anda boleh menggunakan Concatenation String untuk membuat salam peribadi berdasarkan nama pengguna, atau membina URL untuk permintaan API berdasarkan input pengguna.
"'dan" concat () "boleh digunakan untuk penyambungan rentetan dalam JavaScript, tetapi terdapat beberapa perbezaan. Operator "" lebih langsung dan mudah dibaca, tetapi jika anda cuba menambah nombor pada rentetan, ia boleh menyebabkan kekeliruan kerana JavaScript akan cuba menukar rentetan ke nombor. Sebaliknya, kaedah "concat ()" lebih jelas, dan boleh menggabungkan pelbagai rentetan sekaligus, tetapi kelajuannya sedikit lebih perlahan dan kurang biasa digunakan.
Terdapat beberapa cara untuk meningkatkan prestasi penyambungan rentetan dalam JavaScript. Salah satu cara ialah menggunakan operator "=" bukannya "pengendali kerana ia lebih cepat dan lebih cekap. Pendekatan lain ialah menggunakan array dan kaedah "menyertai ()", yang mungkin lebih cepat untuk banyak data. Walau bagaimanapun, pendekatan terbaik bergantung pada kes penggunaan khusus anda dan saiz data yang anda sedang kerjakan.
Tidak, JavaScript tidak mempunyai kelas StringBuilder terbina dalam seperti Java. Walau bagaimanapun, anda boleh mencapai fungsi yang sama menggunakan array dan "menyertai ()" kaedah. Kaedah ini sangat cekap untuk sejumlah besar data, kerana ia mengelakkan mewujudkan rentetan pertengahan yang tidak perlu.
Amalan terbaik untuk JavaScript String Concatenation bergantung pada kes penggunaan khusus anda. Walau bagaimanapun, beberapa helah biasa termasuk: menggunakan pengendali "=" untuk sejumlah kecil data, menggunakan array dan kaedah "menyertai ()" untuk sejumlah besar data, dan mengelakkan kaedah "concat ()" melainkan anda perlu menggabungkan pelbagai rentetan sekaligus. Apabila menggunakan operator "", anda juga harus memberi perhatian kepada masalah potensi pemutus jenis.
Ya, anda boleh menggunakan literasi templat untuk penyambungan rentetan dalam JavaScript. Literasi templat adalah ciri ES6 yang membolehkan anda menanamkan ekspresi dalam literal rentetan. Mereka amat berguna untuk mewujudkan rentetan yang kompleks kerana ia membolehkan anda memasukkan pembolehubah, ekspresi, dan juga fungsi panggilan terus dalam rentetan.
Concatenation String dalam JavaScript adalah serupa dengan banyak bahasa lain, tetapi dengan beberapa perbezaan. Sebagai contoh, JavaScript menggunakan pengendali "" untuk penyambungan rentetan, manakala beberapa bahasa lain menggunakan pengendali "&". Di samping itu, JavaScript tidak mempunyai kelas StringBuilder terbina dalam seperti Java, tetapi anda boleh mencapai fungsi yang sama menggunakan array dan "menyertai ()" kaedah.
Perangkap berpotensi JavaScript String Concatenation adalah jenis pemutus. Jika anda cuba menambah nombor ke rentetan menggunakan operator "", JavaScript akan cuba menukar rentetan ke nombor, yang mungkin membawa kepada hasil yang tidak dijangka. Satu lagi perangkap yang berpotensi adalah prestasi. Untuk sejumlah besar data, penggabungan rentetan boleh menjadi perlahan, jadi pastikan anda menggunakan kaedah yang cekap seperti kaedah "=" atau kaedah "gabungan ()".
anda boleh menggunakan kaedah "" atau "concat ()" untuk menggabungkan rentetan dengan aksara khas. Jika watak khas adalah sebahagian daripada rentetan, anda boleh memasukkannya secara langsung dalam rentetan literal. Jika watak khas adalah pemboleh ubah atau ungkapan, anda boleh menggunakan templat literal untuk memasukkannya ke dalam rentetan.
Ya, anda boleh menggabungkan rentetan dengan jenis data lain dalam JavaScript. Walau bagaimanapun, ambil perhatian bahawa JavaScript akan cuba menukar jenis data lain ke rentetan. Sebagai contoh, jika anda cuba menggabungkan rentetan dengan nombor, JavaScript akan menukar nombor ke rentetan. Jika anda cuba menggabungkan rentetan dengan objek, JavaScript menukar objek ke rentetan "[objek objek]".
Output mengekalkan format dan penempatan imej asal.
Atas ialah kandungan terperinci Konvensyen rentetan berprestasi tinggi di JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!