作家
登录

javascript 字符串连接的性能问题(多浏览器)

作者: 来源:www.28hudong.com 2013-03-30 02:50:45 阅读 我要评论

书中附带的测试代码如下 复制代码 代码如下:<html> <head> <title>Example</title> </head> <body> <p><strong>Note:</strong> The latest versions of Firefox seem to have fixed the string concatenation problem. If you are using Firefox 1.0 or later, the string buffer may actually take longer than normal string concatenation.</p> <script type="text/javascript"> function StringBuffer() { this.__strings__ = new Array; } StringBuffer.prototype.append = function (str) { this.__strings__.push(str); }; StringBuffer.prototype.toString = function () { return this.__strings__.join(""); }; var d1 = new Date(); var str = ""; for (var i=0; i < 10000; i++) { str += "text"; } var d2 = new Date(); document.write("Concatenation with plus: " + (d2.getTime() - d1.getTime()) + " milliseconds"); var buffer = new StringBuffer(); d1 = new Date(); for (var i=0; i < 10000; i++) { buffer.append("text"); } var result = buffer.toString(); d2 = new Date(); document.write("<br />Concatenation with StringBuffer: " + (d2.getTime() - d1.getTime()) + " milliseconds"); </script> </body> </html> 在 Firefox/3.0.3中执行的结果如下: Concatenation with plus: 5 milliseconds Concatenation with StringBuffer: 10 milliseconds 在IE6中执行结果如下: Concatenation with plus: 234 milliseconds Concatenation with StringBuffer: 62 milliseconds 1.两种方式性能差别很大 2.看来IE6字符串连接处理能力比FF3很差呀 3.IE6和FF3两种方式结果相反,看来以后写连接优化还有注意浏览器呀

  推荐阅读

  火狐浏览器(firefox)下获得Event对象以及keyCode

复制代码 代码如下:var isie = (document.all) ? true:false; var key; var ev; if(isie){ key = window.event.keyCode; ev = window.event; }else{ key = e.which; ev = e; } 这个时候可以alert(key) 看看, 但>>>详细阅读


本文标题:javascript 字符串连接的性能问题(多浏览器)

地址:http://www.17bianji.com/kaifa2/JS/29209.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)