작업 중에는 종종 2 개 이상의 문자열을 하나의 문자열로 연결하는 문제가 발생합니다. JS에서 이러한 유형의 문제를 다루는 방법에는 일반적으로 세 가지가 있습니다. 다음은 하나씩 목록을 하나씩이며 성능을 구체적으로 비교합니다.
첫 번째 방법은 커넥터 "+"를 사용하여 연결할 문자열을 연결합니다.
str = "a"; str+= "b";
이 방법이 가장 편리하고 빠르다는 것은 의심의 여지가 없습니다. 100 개 미만의 문자열 만 연결하는 경우이 방법을 사용하는 것이 좋습니다.
두 번째 방법은 배열을 중개자로 사용하여 문자열을 Join과 연결합니다.
var arr = new array (); arr.push (a); arr.push (b); var str = arr.join ( "");
W3School 웹 사이트는이 방법이 첫 번째 방법보다 리소스가 적고 더 빠르다는 것을 소개합니다. 나중에 실험을 통해 이것이 사실인지 확인합니다.
세 번째 방법은 객체 속성을 사용하여 문자열을 연결합니다
함수 stringConnect () {this._str _ = new array ();} stringConnect.prototype.append = function (a) {this._str_.push (a);} stringConnect.prototype.toString = function () {return this._str_.join (); var mystr = new Mystronnect; 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 1 1 1 1 1.8
두 번째 유형 1 3 0 3 1 3 4 1 4 2 2.2
첫 번째 유형 0 0 0 0 0 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 8 9 8 9 9.7
첫 번째 유형 7 12 5 11 10 10 13 16 12 12.6
C = 500000
세 번째 유형 104 70 74 69 76 77 69 102 73 73 78.7
두 번째 유형 78 100 99 99 98 96 71 94 97 93.2
첫 번째 유형 90 87 83 85 85 83 84 83 88 855.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을 계산할 때는 랜덤 매개 변수가 주소 표시 줄에 추가되어 캐시의 영향을 피해야합니다. 결과로 판단하면, 첫 번째 방법은 다른 두 가지 방법보다 더 많이 소비하지 않으며, 더 유리하며, 이는 매뉴얼의 지침과 일치하지 않습니다.
테스트 시스템 : Win 7 플래그십
브라우저 : 크롬 52.0.2739.0 m
위의 기사는 JS의 세 가지 문자열 연결 방법과 성능 비교에 대해 간략하게 설명합니다. 나는 당신이 당신에게 참조를 줄 수 있기를 바랍니다. 그리고 당신이 wulin.com을 더 지원할 수 있기를 바랍니다.