Во время работы вы часто сталкиваетесь с проблемой объединения 2 или более строк в одну строку. Обычно в JS есть три способа решить эту проблему. Вот список из них один за другим и проведите конкретное сравнение их производительности.
Первый метод использует разъем «+» для подключения строки:
str = "a"; str+= "b";
Нет сомнений в том, что этот метод является наиболее удобным и быстрым. Если вы подключите только менее 100 строк, рекомендуется использовать этот метод.
Второй метод использует массив в качестве посредника для подключения строки с соединением:
var arr = new Array (); arr.push (a); arr.push (b); var str = arr.join ("");Веб -сайт W3School представляет, что этот метод потребляет меньше ресурсов, чем первый, и быстрее. Позже мы проверим, имеет ли это место в экспериментах.
Третий метод использует свойства объекта для подключения строк
function stringConnect () {this._str_ = new Array ();} stringConnect.prototype.append = function (a) {this._str_.push (a);} stringConnect.prototype.toString = function () {return this._str_.join ();} var myString = new StringConnect; mystr.append ("a"); var str = mystr.toString ();Используйте следующий код, чтобы сравнить производительность трех методов и настроить количество строк соединения, изменяя значение C:
var str = ""; var d1, d2; var c = 5000; // количество соединения strings//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- mystr.append ("a"); } str = mystr.toString (); d2 = новая дата (); console.log(d2.getTime()-d1.getTime());//------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------. Date();console.log(d2.getTime()-d1.getTime());//-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Я корректировал C, чтобы быть равным 5000, 50000, 500000 и 50000000 соответственно. Каждое значение измерялось 10 раз соответственно, и конечный результат был следующим:
C = 5000
Среднее время в миллисекундах
Третий тип 3 2 2 3 1 2 2 1 1 1 1 1,8
Второй тип 1 3 0 3 1 3 4 1 4 2 2,2
Первый тип 0 0 0 0 0 0 1 1 1 1 1 0,5
C = 50000
Третий тип 22 12 9 14 12 13 13 13 10 17 13,5
Второй тип 8 13 12 8 11 11 8 9 8 9 9,7
Первый тип 7 12 5 11 10 10 10 13 16 12 10,6
C = 500000
Третий тип 104 70 74 69 76 77 69 102 73 73 78,7
Второй тип 78 100 99 99 100 98 96 71 94 97 93,2
Первый тип 90 87 83 85 85 83 84 83 88 86 85,4
C = 5000000
Третий тип 651 871 465 444 1012 436 787 449 432 444 599,1
Второй тип 568 842 593 747 417 747 719 549 573 563 631,8
Первый тип 516 279 616 161 466 416 201 495 510 515 417,5
При подсчете 5000000 к адресной строке добавляются случайные параметры, что должно избежать воздействия кэша. Судя по результатам, первый метод не потребляет больше, чем два других метода, и это еще более выгодно, что, очевидно, несовместимо с инструкциями в руководстве.
Тестовая система: выиграть 7 флагман
Браузер: Chrome 52.0.2739.0 M
В приведенной выше статье кратко обсуждаются три метода подключения строкового соединения и сравнения производительности в JS - это все контент, которым я делюсь с вами. Я надеюсь, что вы можете дать вам ссылку, и я надеюсь, что вы сможете поддержать Wulin.com больше.