javascript中拼接HTML字符串的最快、最好的方法

 更新时间:2014年06月07日 09:44:24   作者:  
这篇文章主要介绍了javascript中拼接HTML字符串的最快、最好的方法,本文共计介绍了3种方法,并对3个各自做了浏览器速度测试,需要的朋友可以参考下

第一种:逐个字符串相加

复制代码 代码如下:

var arr = ['item 1', 'item 2', 'item 3', ...];
list = '';
for (var i = 0,
l = arr.length; i < l; i++) {
    list += '' + arr[i] + '';
}
list = '' + list + '';

这种最常见的,但是效率最低!代码逻辑相对来说复杂。

第二种:逐个 push 进数组

复制代码 代码如下:

var arr = ['item 1', 'item 2', 'item 3', ...],
list = [];

for (var i = 0,
l = arr.length; i < l; i++) {
    list[list.length] = '' + arr[i] + '';
}
list = '' + list.join('') + '';

比上一种方法稍微快一些,但还是不够好…

第三种:直接join()

复制代码 代码如下:

var arr = ['item 1', 'item 2', 'item 3', ...];

var list = '' + arr.join('') + '';

使用原生的方法(比如 join()),不管它后面是怎么实现的,一般都比其他方法快很多,而且代码非常简洁。

浏览器性能测试

每种方法是使用一个长度为 130 的数组来测试,其中每个元素的长度是多种多样的,防止浏览器对一定长度的字符串做特殊的优化;每种方法测试了 1000 次;下面的结果显示,执行完这 1000 次需要的时间:

相关文章

  • 限时抢购-倒计时的完整实例(分享)

    限时抢购-倒计时的完整实例(分享)

    下面小编就为大家带来一篇限时抢购-倒计时的完整实例(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • JavaScript 数组详解

    JavaScript 数组详解

    学习js就不得不学他的数组,这篇文章是由色拉油整理下,需要学习js数组的朋友可以参考下
    2013-10-10
  • 一个页面元素appendchild追加到另一个页面元素的问题

    一个页面元素appendchild追加到另一个页面元素的问题

    一般都是自己创建元素然后append到页面的但是如果是页面本身有的元素append到另一个页面元素呢,很多的新手朋友对此问题比较好奇,本人也是如此啊,好了不多说,切入主题,感兴趣的朋友可以了解下哦
    2013-01-01
  • JavaScript控制音频和视频的播放、暂停、音量

    JavaScript控制音频和视频的播放、暂停、音量

    HTML<video>元素用于在HTML或者XHTML文档中嵌入媒体播放器,用于支持文档内的视频播放,你也可以将<video>标签用于音频内容,在前端中实现音频和视频播放通常涉及使用HTML5的<audio>和<video>元素以及JavaScript来控制这些媒体元素的播放、暂停、音量等属性
    2023-10-10
  • layui使用数据表格实现购物车功能

    layui使用数据表格实现购物车功能

    这篇文章主要为大家详细介绍了layui使用数据表格实现购物车功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-07-07
  • Javascript设置对象的ReadOnly属性(示例代码)

    Javascript设置对象的ReadOnly属性(示例代码)

    本篇文章主要介绍了Javascript设置对象的ReadOnly属性(示例代码) 需要的朋友可以过来参考下,希望对大家有所帮助
    2013-12-12
  • 使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置

    使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置

    Object.defineProperty() 方法直接在一个对象上定义一个新属性,或者修改一个已经存在的属性, 并返回这个对象。下面这篇文章主要给大家介绍了关于使用Object.defineProperty如何巧妙找到修改某个变量的准确代码位置的相关资料,需要的朋友可以参考下
    2018-11-11
  • uniapp多选框全选功能的实现思路与方法实例

    uniapp多选框全选功能的实现思路与方法实例

    uniapp给我们提供了tabs组件进行单项的切换,但是多选的效果需要我们自己去手写,下面这篇文章主要给大家介绍了关于uniapp多选框全选功能实现思路与方法的相关资料,需要的朋友可以参考下
    2022-08-08
  • js实现可控制左右方向的无缝滚动效果

    js实现可控制左右方向的无缝滚动效果

    这篇文章主要介绍了js实现可控制左右方向的无缝滚动效果,页面中添加了两个按钮,控制图片滚动的方向,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • js跨域资源共享 基础篇

    js跨域资源共享 基础篇

    这篇文章主要为大家详细介绍了javascript跨域资源共享的相关资料,感兴趣的朋友可以参考一下
    2016-07-07

最新评论