ประเภทแรก: เพิ่มสตริงโดยสตริง
การคัดลอกรหัสมีดังนี้:
var arr = ['รายการ 1', 'รายการ 2', 'รายการ 3', ... ];
list = '';
สำหรับ (var i = 0,
l = arr.length; ฉัน <l; i ++) {
รายการ + = '' + arr [i] + '';
-
list = '' + list + '';
นี่เป็นเรื่องธรรมดา แต่มีประสิทธิภาพน้อยที่สุด! ตรรกะรหัสค่อนข้างซับซ้อน
ประเภทที่สอง: ดันเข้าไปในอาร์เรย์ทีละตัว
การคัดลอกรหัสมีดังนี้:
var arr = ['รายการ 1', 'รายการ 2', 'รายการ 3', ... ],
รายการ = [];
สำหรับ (var i = 0,
l = arr.length; ฉัน <l; i ++) {
รายการ [list.length] = '' + arr [i] + '';
-
list = '' + list.oin ('') + '';
มันเร็วกว่าวิธีก่อนหน้าเล็กน้อย แต่ก็ยังไม่ดีพอ ...
ประเภทที่สาม: เข้าร่วมโดยตรง ()
การคัดลอกรหัสมีดังนี้:
var arr = ['รายการ 1', 'รายการ 2', 'รายการ 3', ... ];
var list = '' + arr.join ('') + '';
ใช้วิธีการดั้งเดิม (เช่นเข้าร่วม ()) ไม่ว่าจะใช้งานในภายหลังได้อย่างไรโดยทั่วไปจะเร็วกว่าวิธีอื่นมากและรหัสนั้นกระชับมาก
การทดสอบประสิทธิภาพของเบราว์เซอร์
แต่ละวิธีคือการใช้อาร์เรย์ที่มีความยาว 130 เพื่อทดสอบโดยที่แต่ละองค์ประกอบมีความยาวหลากหลายเพื่อป้องกันไม่ให้เบราว์เซอร์ทำการปรับให้เหมาะสมเป็นพิเศษสำหรับสตริงที่มีความยาวหนึ่ง แต่ละวิธีได้รับการทดสอบ 1,000 ครั้ง ผลลัพธ์ต่อไปนี้แสดงให้เห็นว่าต้องใช้เวลา 1,000 ครั้ง: