function StringBuffer() {
this._strs = new Array;
}
StringBuffer.prototype.append = function (str) {
this._strs.push(str);
};
StringBuffer.prototype.toString = function() {
this._strs.join("");
};
10000条记录,原始字符串加和数组拼接的对比:
firefox3.5:
原始:2-3秒
拼接:1-2秒
ie7:
原始:313-328秒
拼接:78-94秒
ie6:
原始:143秒
拼接:63秒
chrome:
原始:1秒
拼接:3秒
当记录上升到100000条的时候:
ie7:
原始:62602秒
拼接:1327秒
firefox3.5:
原始:15-18秒
拼接:28秒
chrome:
原始:28-31秒
拼接:31秒
说明在新的高版本浏览器,js虚拟机的性能对于字符串加的操作已经优化很多了。但是ie依然是比较差,不过没有测试ie8,不知道速度如何。
对于大数据量,其实直接加和拼接对于firefox速度上差别不大,但是这仅仅测试的是速度,从内存占用来看,拼接所占用的肯定是比原始加要少很多。可惜ie依然是大部分市场,特别是ie6,所以从性能上来看,还是拼接来的保险。或者说拼接其实就是专门用来优化ie的。
分享到:
相关推荐
脚本通过检测用户代理字符串来识别浏览器。用户代理字符串能够检测出浏览器所用的呈现引擎及所在的平台,包括移动设备和游戏系统。但是,在检测用户端时,仍应先考虑使用能力检测和怪癖检测。
json字串 解析成jsonObject的工具,替代eval方法使用 IE8以上浏览器貌似自带 JSON.stringify
主要介绍了Javascript字符串浏览器兼容问题,实例形式对比分析了不兼容字符串与兼容字符串的区别,是非常实用的技巧,需要的朋友可以参考下
MDN上关于模板字符串的页面, 浏览器打印成pdf, 用注释记了笔记,作为对应博客的附属资料,方便读者离线阅读.
问题您有一个字符串MDX和它使用的各种TS / JS文件,并且想要获取这些文件的捆绑版本以在浏览器中评估。 该解决方案为您的MDX和JS字符串提供此功能,它将为您提供捆绑代码的单个字符串。 目录安装用法编译目标汇总...
一个用于将字符串编码成 Base16/Base32/Base64/MD5/SHA-1 的库,兼容所有浏览器和宿主环境。
今天看了javascript 高级程序设计谈到了字符串连接的性能问题
JS字符串替换函数:Replace(“字符串1″, “字符串2″) 1.我们都知道JS中字符串替换函数是Replace(“字符串1″, “字符串2″),但是这个函数只能将第一次出现的字符串1替换掉,那么我们如何才能一次性全部替换掉了? ...
userAgent 属性是 navigator 对象的一个属性,它返回一个字符串,该字符串包含了浏览器的类型、版本、操作系统等信息。该字符串的格式可以是以下几种: * Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 ...
我们知道,在js中,字符串连接是性能最低的操作之一。 例如: 代码如下: var text=”Hello”; text+=” World!”; 早期浏览器没有对这种运算进行优化。 由于字符串是不可变的,这意味着要创建中间字符串来存储...
判断字符串编码是utf-8还是gb2312 判断字符串编码是utf-8还是gb2312是PHP编程中一个常见的问题,本文将通过对字符的ASCII码值进行判断,从而来判断字符串的编码是utf-8还是gb2312。 PHP中判断字符串编码的方法有很...
如果为负数则从字符串末尾开始计算(经测试,某些浏览器版本下无效) length 可选。指要截取的字符串长度,省略则至到字符串结束 提示:substr 方法不符合 ECMAscript 标准,因此不建议使用。 substr 方法实例 ...
1、传统上,字符串连接一直是js中性能最低的操作之一。 var text=”Hello”; text+=” World!”; 早期浏览器没有对这种运算进行优化。 由于字符串是不可变的,这意味着要创建中间字符串来存储连接的结果。频繁地在...
require-cjs-字符串 来自节点和浏览器中字符串的动态eval commonjs / umd模块。安装npm install require-cjs-string用法 const rcs = require ( 'require-cjs-string' )rcs ( 'module.exports = 1' ) // => 1 更多...
最近在写一个时间判断脚本,需要将固定好的字符串时间转换为时间戳进行比较,在做的时候个人习惯使用chrome作为调试工具,代码基本完成之后,一切正常; 使用其他浏览器访问,好嘛,IE跟safari都不兼容,返回错误”...
1k 独立的模糊搜索/模糊过滤器,来自 Sublime Text 的 command-p 模糊文件搜索。适用于节点和浏览器
字符串逆序,使用JavaScript实现。 JavaScript是一种编程语言,主要用于增强网页交互性。它是一种弱类型脚本语言,可以在浏览器中运行,并且可以与HTML和CSS一起使用来创建动态和交互式的网页。JavaScript可以用于...
UAParser.js 基于JavaScript的User-Agent字符串解析器。 可以在浏览器(客户端)或node.js(服务器端)环境中使用。 也可以作为jQuery / Zepto插件,Bower / Meteor软件包和RequireJS / AMD模块使用。 该库的目的是...
一个用于解释和输出浏览器颜色字符串的javascript模块。 从汲取灵感,ColorInterpreter支持以下浏览器颜色字符串: 十六进制 HEXA(具有alpha值的十六进制) 红绿蓝 RGBA 高速钢 HSLA 关键字词 此外,可以从...