istnieją dwa sposoby łączenia łańcuchów w JavaScript. Ten post pokazuje je i wyjaśnia, który z nich jest szybszy.
+ operator
operator + wykonuje konkatenację łańcuchową tak szybko, jak jeden z jego operandów jest łańcuchem. Następnie drugi operand jest konwertowany na string., Przykład:
> "Say hello " + 7 + " times fast!"’Say hello 7 times fast!’
Alternatywnie, można użyć += gdzie
a += b
jest skrótem
a = a + b
przykład:
> var str = "";> str += "Say hello ";’Say hello ’> str += 7;’Say hello 7’> str += " times fast!";’Say hello 7 times fast!’
łączenie tablicy ciągów
Zbieraj ciągi, które mają być skonkatenowany w tablicy, a następnie dołączony do niej.
> var arr = ;> arr.push("Say hello ");1> arr.push(7);2> arr.push(" times fast");3> arr.join("")’Say hello 7 times fast’
który jest szybszy?
ciągi są niezmienne, większość operacji ciągów, których wynikiem są ciągi, wytwarza nowe ciągi. Dlatego języki takie jak C# lub Java, których obsługa łańcuchów jest podobna do JavaScript, mają specjalne klasy, które pomagają w łączeniu łańcuchów., Na przykład, C# wywołuje tę klasę StringBuilder. Jednak nowoczesne silniki JavaScript optymalizują operatora + wewnętrznie . Tom Schuster wymienia liny jako jedną z możliwych technik optymalizacji. Dlatego nie ma potrzeby stosowania StringBuilder w JavaScript. Wystarczy użyć += i gotowe.
Leave a Reply