JavaScript:利用StringBuffer类提升+=拼接字符串效率
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5<title></title>
6</head>
7<body>
8</body>
9<script type="text/javascript"><!--
10 var str = 'hello';
11 str += 'world';
12 //每次完成字符串连接都会执行步骤2到6步
13 //实际上,这段代码在幕后执行的步骤如下:
14 /*
15 1.创建存储'hello'的字符串
16 2.创建存储'world'的字符串
17 3.创建存储链接结果的字符串
18 4.把str的当前内容复制到结果中
19 5.把'world'复制到结果中
20 6.更新str,使它指向结果
21 */
22
23 //为了提高性能最好使用数组方法拼接字符串
24 //创建一个StringBuffer类
25 function StringBuffer(){
26 this.__strings__ = [];
27 };
28 StringBuffer.prototype.append = function(str){
29 this.__strings__.push(str);
30 };
31 StringBuffer.prototype.toString = function(){
32 return this.__strings__.join('');
33 };
34
35 //调用StringBuffer类,实现拼接字符串
36 //每次完成字符串连接都会执行步骤2步
37 //实际上,这段代码在幕后执行的步骤如下:
38 /*
39 1.创建存储结果的字符串
40 2.把每个字符串复制到结果中的合适位置
41 */
42 var buffer = new StringBuffer();
43 buffer.append('hello ');
44 buffer.append('world');
45 var result = buffer.toString();
46
47 //用StringBuffer类比使用+=节省50%~66%的时间
48//-->
49</script>
50</html>
51
转载于:https://www.cnblogs.com/lonelyxmas/archive/2009/11/23/1608510.html
JavaScript:利用StringBuffer类提升+=拼接字符串效率相关推荐
- 利用JS提高组合拼接字符串效率的方法
日志原文: http://uniso.blog.sohu.com/104853107.html 利用JS提高组合拼接字符串效率的方法 希望跟各位高手交流,搞过web开发的朋友都知道,在脚本开发过程中, ...
- String拼接字符串效率低,你知道原因吗?
面试官Q1:请问为什么String用"+"拼接字符串效率低下,最好能从JVM角度谈谈吗? 对于这个问题,我们先来看看如下代码: public class StringTest {p ...
- JavaSE——StringBuffer与StringBuilder拼接字符串详细解释
目录 一.基本了解 1.1使用字符串频繁拼接会出现什么问题? 1.2 了解StringBuffer 1.3 了解StringBuilder 1.4 StringBuffer与StringBuilde ...
- java 超长字符串处理_JAVA的StringBuffer类( 较长字符串处理时,代替String)
StringBuffer类和String一样,也用来代表字符串,只是由于StringBuffer的内部实现方式和String不同,所以StringBuffer在进行字符串处理时,不生成新的对象,在内存 ...
- JAVASE学习笔记 Java中的常用类--StringBuffer类、StringBuilder类
1.StringBuffer类概述 在Java中我们如果对字符串进行拼接操作,每次拼接都能构建一个新的String对象,这样操作既费时有浪费时间,StringBuffer类就能解决这个问题. Stri ...
- Java学习总结:31(StringBuffer类)
StringBuffer类 在Java中String类不适合使用于频繁修改字符串的操作上(因为其字符串常量一旦声明则不可改变,只能改变字符串对象,改变的是其内存地址的指向),所以我们可以使用Strin ...
- server多笔记录拼接字符串 sql_Java拼接“1亿行字符串”你会遇到什么问题?
拼接"1亿行字符串"你会遇到什么问题? 本文将涉及到的三方面的内容,如下: 1,一个10万次的for循环,4种实现的性能对比 2,直接将For循环改为1亿次,遇到的问题 3,拓展 ...
- AJPFX关于StringBuffer类的总结
StringBuffer类 一.字符串缓冲区,是一个容器.没有子类不能继承. 特点:长度可变化:可操作多个数据类型:可通过toString()变成字符串. 二.存储方法 1.StringBuffer ...
- 1.17 StringBuffer类详解
在 Java 中,除了通过 String 类创建和处理字符串之外,还可以使用 StringBuffer 类来处理字符串.StringBuffer 类可以比 String 类更高效地处理字符串. 因为 ...
最新文章
- 面试官让我讲讲Unicode,我讲了3秒说没了,面试官说你可真菜
- Excel如何批量将表中的0替换成空值?同时不能影响正常数字中包含的0
- RTSP协议-中文定义
- 【漫画】AI小猪的一生
- 手把手带你手写SpringMVC,剑指优秀开源框架灵魂
- Sublime Text 3的中文显示乱码问题
- 视觉测量为什么要考虑畸变
- 编译pluma: pluma/Makefile.am:192: error: HAVE_INTROSPECTION does not appear in AM_CONDITIONAL
- 《XMPP高级编程 使用JavaScript和jQuery》
- PCIE实现PIO模式寄存器读写调试记录
- 4-5. do...while循环
- <ESP8266>WIFI模块AT指令浅学
- 华硕飞行堡垒56789原厂Windows10系统
- 福州大学数据科学与计算机学院分数,2021福州大学录取分数线-福州大学分数线-2021福州大学录取查询网址...
- mycat 分表分库
- 简历中特长爱好怎么写
- laplace变换 z变换本质
- 在预装win8的UFI+GTP的pc上实现ubuntu和win8双系统启动
- Myth源码解析系列之一-项目简介
- 视频剪辑软件中的标记功能与使用方法
热门文章
- 做实体行业现在难吗?
- React的学习曲线
- Cause: java.sql.SQLException: Unknown initial character set index ‘255‘ received from server. Initia
- MATLAB中ASCII码的举例
- uni-app目录结构介绍
- LeetCode-删除中间节点
- 计算机网络class1(概念、组成、功能和分类)
- java抽象类代码_java – 抽象类和通用代码
- 了解SQL Server数据库恢复模型
- UK Biobank专题