广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >JavaScript中怎么组合拼接字符串
  • 774
分享到

JavaScript中怎么组合拼接字符串

2024-04-02 19:04:59 774人浏览 泡泡鱼
摘要

今天就跟大家聊聊有关javascript中怎么组合拼接字符串,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。JavaScript组合拼接字符串的效率。

今天就跟大家聊聊有关javascript中怎么组合拼接字符串,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

JavaScript组合拼接字符串的效率。在脚本开发过程中,经常会按照某个规则,组合拼接出一个大字符串进行输出。比如写脚本控件时控制整个控件的外观的html标签输出,比如ajax里得到服务器端的回传值后动态分析创建HTML标签时,不过这里我就不讨论拼接字符串的具体应用了,我只是想在这里讨论一下拼接的效率。

字符串的拼接在我们写代码的时候都是用“+=”这个运算符,s += String; 这是我们最为熟知的写法,不知道大家有没有注意过没有,在组合的字符串容量有几十K甚至几百K的时候,脚本执行起来很慢,CPU使用率狂高,例如:

var str = "01234567891123456789212345678931234567894123456789";  str+= "51234567896123456789712345678981234567899123456789/n";  var result = "";  for(var i=0; i<2000; i++) result += str;

就这么一步操作,产生的结果字符串是200K,耗时是1.1秒(这个与电脑配置有关),CPU的峰值100%。(为了更直观地看到效果,我多做了些循环)。可想而知就这么一步操作就消耗了我一秒多的时间,再加上其它的代码的时间消耗,那整个脚本块的执行时间就难以忍受了。那有没有优化的方案呢?还有其它的方法吗?答案当然是有的,否则我写这篇文章就是废话。

更快的方式就是使用数组,在循环拼接的时候不是相接拼接到某个字符串里去,而是把字符串放到一个数组里,***用数组.join("") 得到结果字符串,代码示例:

var str = "01234567891123456789212345678931234567894123456789";  str+= "51234567896123456789712345678981234567899123456789/n";  var result = "", a = new Array();  for(var i=0; i<2000; i++) a[i] = str;  result = a.join(""); a = null;

大家可以测试测试,组合出一个相同大小的字符串所消耗的时间,我这里测试出来的结果是:<15毫秒,请注意,它的单位是毫秒,也就是说组合出这么一个200K的字符串,两种模式的时间消耗是差不多两个数量级。这意味着什么?意味着后者已经工作结束吃完中饭回来,前者还在做着苦力。我写一个测试页面,大家可以把下面这些代码拷贝下来另存为一个HTM文件在网页里打开自己来测试一下两者之间的效率差,反正我测试的是前者要半分钟才能完成的事,后者0.07秒就搞定了(循环10000次)。

<body>  字符串拼接次数<input id="totle" value="1000" size="5" maxlength="5">  <input type="button" value="字符串拼接法" onclick="method1()">  <input type="button" value="数组赋值join法" onclick="method2()"><br>  <div id="method1">&nbsp;</div>  <div id="method2">&nbsp;</div>  <textarea id="show" style="width: 100%; height: 400"></textarea>  <SCRIPT LANGUAGE="JavaScript">  <!--  //这个被拼接的字符串长是100字节 author: meizz  var str = "01234567891123456789212345678931234567894123456789";  str+= "51234567896123456789712345678981234567899123456789/n";

方法一

function method1()  {  var result = "";  var totle = parseInt(document.getElementById("totle").value);  var n = new Date().getTime();  for(var i=0; i<totle; i++)  {  result += str;  }  document.getElementById("show").value = result;  var s = "字符串拼接法:拼接后的大字符串长 "+ result.length +"字节,"+  "拼接耗时 "+ (new Date().getTime()-n) +"毫秒!";  document.getElementById("method1").innerHTML = s;  }

方法二

function method2()  {  var result = "";  var totle = parseInt(document.getElementById("totle").value);  var n = new Date().getTime();  var a = new Array();  for(var i=0; i<totle; i++)  {  a[i] = str;  }  result = a.join(""); a=null;  document.getElementById("show").value = result;  var s = "数组赋值join法:拼接后的大字符串长 "+ result.length +"字节,"+  "拼接耗时 "+ (new Date().getTime()-n) +"毫秒!";  document.getElementById("method2").innerHTML = s;  }  //-->  </SCRIPT>

***我再说几句,是不是以后字符串拼接就一律使用数组join呢?这个要看你的实际需求了,就普通的几个或者K级的字节的组合就没有必要使用数组法了,因为开数组变量也是有消耗的。若有几K以上的字符串组合,那就是数组的效率高了。

IE 6.0:

字符串拼接法:拼接后的大字符串长 1010000字节,拼接耗时 22089毫秒!

数组赋值join法:拼接后的大字符串长 1010000字节,拼接耗时 218毫秒!

Firefox 1.0:

字符串拼接法:拼接后的大字符串长 1010000字节,拼接耗时 1044毫秒!

数组赋值join法:拼接后的大字符串长 1010000字节,拼接耗时 1044毫秒!

Mozilla 1.7:

字符串拼接法:拼接后的大字符串长 1010000字节,拼接耗时 1045毫秒!

数组赋值join法:拼接后的大字符串长 1010000字节,拼接耗时 1044毫秒!

Netscape 7.0:

字符串拼接法:拼接后的大字符串长 1010000字节,拼接耗时 10273毫秒!

数组赋值join法:拼接后的大字符串长 1010000字节,拼接耗时 1138毫秒!

Opera 7.54:

字符串拼接法:拼接后的大字符串长 1010000字节,拼接耗时 6968毫秒!

数组赋值join法:拼接后的大字符串长 1010000字节,拼接耗时 6922毫秒!

循环10000次的测试结果表明在IE和Netscape里可以大大提高效率,而在Firefox Mozilla Opera 里两种方法耗时基本相近,这些数据足可以判定数组join法优于传统字符串拼接。

看完上述内容,你们对JavaScript中怎么组合拼接字符串有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注编程网JavaScript频道,感谢大家的支持。

--结束END--

本文标题: JavaScript中怎么组合拼接字符串

本文链接: https://www.lsjlt.com/news/70073.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • JavaScript中怎么组合拼接字符串
    今天就跟大家聊聊有关JavaScript中怎么组合拼接字符串,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。JavaScript组合拼接字符串的效率。...
    99+
    2022-10-19
  • JavaScript中怎么组合字符串
    JavaScript中怎么组合字符串,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 模板字符串如果你来自另一种语言(例如Ruby),则将熟...
    99+
    2022-10-19
  • MySQL字符串拼接与分组拼接字符串实例代码
    目录一、经典拼接concat(x,x,....)二、分隔符拼接CONCAT_WS(separator,str1,str2,...)三、分组拼接GROUP_CONCAT(expr)补充:在筛选查询...
    99+
    2023-02-02
    mysql字符串拼接 mysql拼接多个字符串 mysql字符串拼接函数
  • 怎么在JavaScript中使用join拼接字符串
    本篇文章为大家展示了怎么在JavaScript中使用join拼接字符串,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。javascript是一种什么语言javascript是一种动态类型、弱类型的语言...
    99+
    2023-06-14
  • mysql怎么拼接字符串
    mysql拼接字符串的方法:借助合并字符串函数CONCAT()输出。语法形式:CONCAT(str1,str2,...,strn);"mysql拼接字符串的示例:借助合并字符串函数CONCAT()输出,语法...
    99+
    2022-10-17
  • php数组转字符串 拼接
    随着PHP语言在Web开发中的广泛应用,数组是PHP中最常用的数据类型之一。在实际开发中,我们经常会遇到将数组转换成字符串或将多个字符串拼接成一个字符串的需求。本文将介绍PHP中数组转字符串和字符串拼接的方法。数组转字符串将数组转换成字符串...
    99+
    2023-05-19
  • 怎么在Shell中拼接字符串
    怎么在Shell中拼接字符串?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。1. 字符串声明概述字符串的基本操作脚本 1# 声明字符串str01="str...
    99+
    2023-06-09
  • python字符串拼接怎么实现
    在Python中,字符串拼接可以通过以下几种方式实现: 使用"+"操作符: str1 = "Hello" str2 = "Wor...
    99+
    2023-10-27
    python
  • jquery怎么高效拼接字符串
    本篇内容介绍了“jquery怎么高效拼接字符串”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!实例如下:va...
    99+
    2022-10-19
  • Go语言怎么拼接字符串
    拼接字符串的方法:1、使用“+”号拼接,语法“str = str1 + str2”;2、利用fmt包的sprintf()函数拼接,语法“str = fmt.Sprintf("%s%d%s", s1, i, s2)”;3、...
    99+
    2023-05-14
    拼接字符串 go语言 Golang
  • php怎么拼接两个字符串
    本篇内容介绍了“php怎么拼接两个字符串”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、使用字符串连接符.可以把两个或两个以上的字符串拼接...
    99+
    2023-06-20
  • python中如何拼接字符串
    在Python中,可以使用"+"运算符或者使用字符串的join()方法来拼接字符串。下面是两种方法的示例:1. 使用"+"运算符拼接...
    99+
    2023-08-11
    python
  • Golang中字符串拼接问题怎么解决
    本篇内容主要讲解“Golang中字符串拼接问题怎么解决”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Golang中字符串拼接问题怎么解决”吧!1.概述Go的字符串是一个不可改变的数据结构,这和其...
    99+
    2023-07-06
  • JavaScript如何简化多行字符串拼接
    这篇文章主要介绍JavaScript如何简化多行字符串拼接,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!简化多行字符串拼接如果一个字符串表达式过长,我们可能会拆成多行拼接的方式。不过随着 ES6 的普及,更好的做法是...
    99+
    2023-06-27
  • mysql中如何给查出的字符串拼接字符串
    mysql中查询字符串并实现字符串的方法首先,在命令行中启动MySQL服务;service mysql start   MySQL服务启动后,输入用户名和密码,登录mysql数据库;mysql -u root -p登录到MySQL数据库后,...
    99+
    2022-10-21
  • php中字符串不能拼接吗
    php中字符串能进行拼接。字符串拼接的两种方法:1、使用字符串连接符“.”进行拼接,可以把两个或两个以上的字符串拼接成一个新的字符串,语法“$string1.$string2.$string3....”;2、使用赋值运算符“.=”进行拼接,...
    99+
    2022-08-15
    php php字符串
  • mybatis中的字符串拼接问题
    目录mybatis字符串拼接使用CONCAT 函数使用${ } 代替 #{ }mybatis 拼接动态表名、字段名总结mybatis字符串拼接 MyBatis中拼接字符串有两种方式。...
    99+
    2023-02-07
    mybatis字符串拼接 mybatis拼接字符串 mybatis字符串
  • sql注入是怎么拼接字符串的
    sql注入拼接字符串的方法:常见的字符串连接函数有concat(),concat_ws(),group_concat(),使用示例:SELECT concat(id, ‘,’, name) A...
    99+
    2022-10-03
  • mybatisPlus怎么实现倒序拼接字符串
    这篇文章主要介绍了mybatisPlus怎么实现倒序拼接字符串的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇mybatisPlus怎么实现倒序拼接字符串文章都会有所收获,下面我们一起来看看吧。倒序拼接字符串&n...
    99+
    2023-06-29
  • Golang语言怎么高效拼接字符串
    这篇文章主要介绍了Golang语言怎么高效拼接字符串,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。01、介绍在编程语言中,字符串是一种重要的数据结构。在 Golang 语言中...
    99+
    2023-06-25
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作