源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

JavaScript 学习笔记(七)字符串的连接

  • 时间:2021-01-29 13:52 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:JavaScript 学习笔记(七)字符串的连接
[b]字符串的连接[/b] 一、 最常用+= 一直说这种方式的效率是最低的,为什么呢?可以看下这种方式的实质过程。 var str = "hello"; str += "world"; (1) 创建存储"hello"的字符串。 (2) 创建存储"world"的字符串。 (3) 创建存储连接结果的字符串。 (4) 把str的当前内容复制到结果中。 (5) 把"world"复制到结果中。 (6) 更新str,使它指向结果。 每次完成字符串连接都会执行步骤2到6,使得这种操作非常消耗资源。如果重复这一过程几百次,甚至几千次,就会造成性能问题。所有以后就要摒弃这种用法了,哈哈哈。^_^ [b]二、 join()方法[/b]
[u]复制代码[/u] 代码如下:
//按钮调用 function JoinFn() { var arr = new Array; arr[0] = "张三"; arr[1] = "李四"; alert(arr.join("")); }
执行的步骤如下: (1) 创建存储结果的字符串。 (2) 把每个字符串复制到结果中的合适位置。 这中方法效率比第一种快。 [b]三、 封装一个自定义的类 [/b]JavaScript中没有像C#中那样的StringBuilder类,但是我们可以自定义一个StringBuilder类,建类的方法就是上一篇提到的“混合的构造函数/原型方式”。
[u]复制代码[/u] 代码如下:
//自定义一个StringBuilder类,用来连接字符串 function StringBuilder() { this._strings = new Array(); } StringBuilder.prototype.append = function(str) { this._strings.push(str); }; StringBuilder.prototype.toString = function() { return this._strings.join(""); }; //按钮调用 function MyConnectClassFn() { var sb = new StringBuilder(); sb.append("张三"); sb.append("李四"); var strResult = sb.toString(); alert(strResult); }
总结 最后比较以上这三种方法,书上说最后一种速度最快,但是经过我测试,貌似join()是最快的,第三种反而是最慢的,难道我的自定义StringBuilder类有问题?
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部