字符串拼接方式(待商榷)

简介:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>字符串拼接方式</title>
    <script type="text/javascript">
        //方法一:普通拼接
        var beginDate = new Date();
        var str = "";
        for (var i = 0; i < 100000; i++) {
            str += "text";
        }
        var endDate = new Date();
        document.write("方法一:普通拼接,耗时:" + (endDate.getTime() - beginDate.getTime()) + "毫秒<br/>");
 
        //方法二:数组拼接
        function StringBuilder() {
            this.__strings__ = new Array;
        }
        StringBuilder.prototype.append = function (str) {
            this.__strings__.push(str);
        }
        StringBuilder.prototype.toString = function () {
            return this.__strings__.join("");
        }
        var beginDate2 = new Date();
        var builder = new StringBuilder();
        for (var i = 0; i < 100000; i++) {
            builder.append("text");
        }
        var result = builder.toString();
        var endDate2 = new Date();
        document.write("方法二:数组拼接,耗时:" + (endDate2.getTime() - beginDate2.getTime()) + "毫秒<br/>"); 
    </script>
</head>
<body>
</body>
</html>

《javascript高级程序设计》一书上说,直接拼接字符串会造成性能问题,应该采用Array对象存储字符串,然后用join()方法创建最后的字符串。说可以节省50%~66%的时间,但是我测试发现,用数组拼接的方式往往还更耗时,如何解释呢?

目录
相关文章
|
人工智能 分布式计算 Hadoop
阿里云大数据ACA及ACP复习题(261~270)
本人备考阿里云大数据考试时自行收集准备的题库,纯手工整理的,能够覆盖到今年7月份,应该是目前最新的,发成文章希望大家能一起学习,不要花冤枉钱去买题库背了,也希望大家能够顺利通关ACA和ACP考试。
|
供应链 安全 芯片
台积电7nm芯片断供影响分析:中国大陆半导体产业的挑战与机遇
近日,有关台积电可能断供中国大陆7nm芯片的消息引发了业界的广泛关注。这一事件不仅关系到全球半导体供应链的稳定性,也对中国大陆半导体产业的发展提出了新的挑战。本文将探讨这一事件背后的原因、可能的影响以及中国大陆半导体产业的应对策略。
681 0
|
运维 监控 容灾
建设强大系统:提升高可用、可靠性和稳定性的秘诀
建设强大系统:提升高可用、可靠性和稳定性的秘诀
1771 0
|
弹性计算 安全 数据安全/隐私保护
阿里云ECS服务器被植入挖矿木马解决过程分享
阿里云ECS服务器是目前很多网站我们在使用的,但是如果安全做的不够好,有时候就会被植入木马,例如我们有时候会收到阿里云的短信提醒,提醒服务器存在挖矿进程,请立即处理的安全告警。 出现这种情况往往网站都无法正常的打开,卡的连服务器SSH远程连接都进不去,给我们造成了很大的影响。
11600 0
|
存储 弹性计算 移动开发
阿里云电脑无影云桌面购买及使用教程全流程(5分钟上手)
阿里云电脑无影云桌面购买、使用全过程,包括无影云桌面购买、地域、工作区、安全策略、创建用户名和密码及登录全过程
7547 1
阿里云电脑无影云桌面购买及使用教程全流程(5分钟上手)
|
存储 Kubernetes jenkins
k8s-部署jenkins
jenkins部署 jenkins和k8s集成 jenkins基于k8s,执行pipline
k8s-部署jenkins
|
Go
Golang读取配置文件实现(yaml)
Golang读取配置文件实现(yaml)
561 0
Golang读取配置文件实现(yaml)
|
编解码 数据建模 vr&ar
会声会影2022永久激活版及最新版本功能
会声会影更新经过上百个版本的优化迭代,已将操作极大简易化,也是公认的上手视频剪辑好用的剪辑工具。只需将想要的效果拖拽到轨道上,一拖一放间就可以快速成片。会声会影2022支持账户管理模式,可以自主管理激活的设备!!!
1906 0
|
Kubernetes 监控 JavaScript
阿里云K8s+Istio+Knative搭建Serverless平台
本文以一个Nodejs前端开发者角度出发,从零基于阿里云平台能力搭建一个弹性的Serverless平台的记录。希望对也想了解这个产品整体的小伙伴们有一定帮助 以上我们利用阿里云K8s+Istio+Knative 搭建Serverless平台 - 部署了k8s集群 - 部署了Istio - .
6271 1
阿里云K8s+Istio+Knative搭建Serverless平台
|
弹性计算 定位技术 数据中心
阿里云服务器地域节点根据所在地区省市就近原则选择对照表
阿里云ECS云服务器地域节点如何选择?地域是指云服务器数据中心所在位置,距离地域越近网络延迟越小速度越快,云吞铺子认为可以根据用户所在地区就近选择云服务器的地域,可以参考下表: 阿里云地域节点可覆盖地区对照表 阿里云ECS云服务器地域有很多,很多同学不清楚如何选择,地域的选择有多重因素要考虑,云吞.
2181 0
阿里云服务器地域节点根据所在地区省市就近原则选择对照表