2010-03-17 31 views

Trả lời

14

Sử dụng +=

var s = 'begin'; 
s += 'ning'; 
+1

ha - đáng lẽ phải đoán điều đó! – Haroldo

1

Có: my_var += 'extra string';

1
+= 

Ví dụ:

my_var += "extra string"; 
5

Mẹo Hiệu suất (lưu ý — lời khuyên này là hợp lệ cho IE6, nhưng nó không còn đáng lo ngại trong năm 2014)

Nếu bạn đang viết một số mã Javascript để xây dựng một chuỗi dài (nói một khối khá lớn HTML hoặc tham số dài) danh sách cho một yêu cầu ajax), sau đó không có thói quen để làm điều này:

var longString = ""; 
for (var i = 0; i < someBigNumber; ++i) { 
    if (i > 0) longString += "<br>" + whatever; 
    longString += someMoreStuff(); 
} 

Khi longString được lâu hơn và lâu hơn, Internet Explorer sẽ phồng khó khăn hơn trên mỗi lần lặp của vòng lặp. Ngay cả khi someBigNumber không thực sự lớn như vậy, hiệu suất của vòng lặp đó có thể thực sự khủng khiếp.

May mắn thay, có một sự thay thế dễ dàng: sử dụng một mảng:

var accumulator = []; 
for (var i = 0; i < someBigNumber; ++i) { 
    accumulator.push(someMoreStuff()); 
} 
var longString = accumulator.join("<br>" + whatever); 

Way, cách nhanh hơn trong Internet Explorer hơn chuỗi lặp đi lặp lại gắn thêm.

+2

Tốt hơn, Pointy, bạn lớn giả, làm công cụ như thế với một khuôn khổ! Các khung nói chung được tối ưu hóa rất tốt và thường sẽ làm hầu hết mọi thứ trong một cách an toàn, hiệu quả và an toàn. – Pointy

+0

Lol (15 ký tự). – BalusC

+0

Câu trả lời hay, sắp sửa viết điều đó. – user187291

Các vấn đề liên quan