`

前端性能优化:使用Array.prototype.join代替字符串连接

阅读更多

日期:2013-7-3  来源:GBin1.com

前端性能优化:使用Array.prototype.join代替字符串连接

有一种非常简单的客户端优化方式,就是用Array.prototype.join代替原有的基本的字符连接的写法。在这个系列的第一篇中,我在代码中使用了基本字符连接:

htmlStr += '<li>' + item.text + '</li>';

但是下面这段代码中,我用了优化:

var items = [];

ajaxResult.items.forEach(function(item) {
    // 构建字符串
    items.push('<li>', item.text, '</li>');
});

// 通过innerHTML设置列表内容
document.querySelector('ul').innerHTML = items.join(''); 

也许你需要花上一点儿时间来看看这个数组是做什么用的,但是所有的用户都从这个优化中受益匪浅。

下一篇,我们将谈谈在前端尽可能使用CSS动画

via 极客社区

来源:前端性能优化:使用Array.prototype.join代替字符串连接

0
2
分享到:
评论

相关推荐

    js实战之全部替代一个子串为另一个子串.pdf

    另一种实现字符串替换的方法是使用String.prototype.split()方法将字符串分割成数组,然后使用Array.prototype.join()方法将数组连接成新的字符串。例如: `const s = 'hello. hello. hello.';` `s.split('hello. '...

    关于js中连接字符串效率的测试例子!

    总结来说,当处理大量字符串连接时,使用`Array.prototype.join()`通常是最优选择,其次是模板字符串和加号连接。`String.prototype.concat()`和非原生的`StringBuilder`在特定场景下也有其优势。在实际开发中,应...

    计算机软件-商业源码-14 连接字符串.zip

    4. **JavaScript**: JavaScript 中,可以使用`+`运算符或`Array.prototype.join()`方法来连接字符串。`join()`方法通常在处理数组中的字符串元素时使用,能提供更好的性能。 在商业源码中,连接字符串的应用广泛。...

    前端面试题之baseJS-isArray.zip

    - `join()`:将数组的所有元素连接成一个字符串,以指定的分隔符分隔。 - `indexOf()` 和 `lastIndexOf()`:查找指定元素的索引,找不到则返回 `-1`。 - `forEach()`、`map()`、`filter()`、`reduce()`、`some()`...

    jscriptdeviationsfromes3

    JScript 的 `String.prototype.split` 方法允许根据指定的分隔符将字符串分割成数组。除了基本的分隔功能外,JScript 还可能支持更多的分隔选项和格式化规则。 ##### 16. Number.prototype.toPrecision: §15.7.4.7...

    JAVASCRIPT函数对象经典语句及其基本应用大全[收集].pdf

    54. `Array.prototype.join(separator)`:返回一个由数组元素连接成的字符串。 55. `String.prototype.lastIndexOf(searchValue, fromIndex)`:返回字符串中子字符串最后一次出现的位置。 56. `VBArray.prototype....

    js中位数不足自动补位扩展padLeft、padRight实现代码.docx

    该方法通过创建一个数组,然后使用 join 方法将其转换为字符串,以达到补位的效果。 方法二:String 方法扩展 通过扩展 String.prototype,可以实现 PadLeft 和 PadRight 方法。例如: ``` String.prototype....

    将字符串反转

    JavaScript提供了Array.prototype.reverse()方法,但对字符串不直接适用。我们需要先将字符串转换为字符数组,再进行反转: ```javascript let strInput = "abcdef"; let strReversed = strInput.split("")....

    NodeJsTesting:使用 Node.Js 测试各种主题和场景

    当需要连接多个字符串时,使用`Array.prototype.join()`方法通常比多次调用`+`运算符更快,因为它避免了创建中间字符串对象。 在测试字符串连接性能时,可以编写基准测试(benchmark)来比较不同方法的执行速度。...

    string-concatenate-outofmemory.rar_crash

    1. 使用`Array.prototype.join()`方法代替加号操作符,因为`join()`在内部会一次性生成结果字符串,减少中间对象的创建。 2. 使用`StringBuilder`类(在Java中)或`StringBuffer`(在某些JavaScript库中提供,如...

    字符串翻转方法三种

    这种方法首先利用`Array.from()`将字符串转换为数组,然后调用数组的`reverse()`方法进行翻转,最后再通过`join('')`将翻转后的数组重新组合成字符串。 ```javascript function reverseStringByArray(str) { const...

    Javascript数组操作整理.rar

    - `join()`:将数组的所有元素放入一个字符串。默认用逗号连接。 - `reverse()`:反转数组中的元素顺序。 - `sort()`:对数组的元素进行排序。默认按字母顺序。 7. 查找数组元素: - `indexOf()`:查找指定元素...

    leetcode卡-data-structure-algorithm:数据结构与算法练习与整理

    Array.prototype.join 思维方法: 要熟悉所有API,知道在某些场景的实际应用 数组 电话号码的组合(公式运算) 卡牌分组(归类运算) 种花问题(筛选运算) 格雷编码(二进制运算) 排序 冒泡排序 选择排序 按奇偶...

    javascript下高性能字符串连接StringBuffer类

    然而,需要注意的是,虽然这种方法在循环连接字符串时提高了性能,但仍然不如使用模板字符串(Template literals, ```反引号包裹的字符串```)来得高效,因为模板字符串在编译时就会被处理成单个字符串。 总的来说...

    JavaScript 字符串乘法

    3. **数组方法`join()`**: `Array.prototype.join()`方法用于将数组中的所有元素转换为字符串并连接起来,中间可以指定分隔符。默认情况下,元素之间用逗号`,`分隔。 4. **构造函数`Array()`**: 当使用`new Array()...

    JavaScript 字符串连接性能优化

    总的来说,对于需要大量字符串连接的场景,采用`Array`对象和自定义的`StringBuffer`类是一种有效的性能优化策略。尽管现代JavaScript引擎已经做了很多优化,但在处理大量字符串连接时,使用这种方法仍然能够显著...

    javascript函数大全

    7. **Array.prototype.join(separator)**:将数组的所有元素连接成一个字符串。 8. **Array.prototype.map(callback[, thisArg])**:创建一个新数组,其结果是调用一个提供的函数处理过的原始数组中的每个元素。 9. ...

    测试JavaScript字符串处理性能的代码

    上述代码是用来测试两种不同的字符串拼接方法——`Array.prototype.push`和`String.prototype.concat`的性能差异。下面我们将深入探讨这两种方法及其在不同场景下的适用性。 1. `Array.prototype.push` 在...

    JavaScript最全编码规范.docx

    - 在IE中,尤其需要注意性能优化,例如,用`Array.join`替换字符串连接符来构建大量字符串。 遵循这些编码规范,可以写出更优雅、易于理解和维护的JavaScript代码,同时也能提高团队间的代码一致性。对于大型项目...

    温故知新——JavaScript中的字符串连接问题最全总结(推荐)

    在JavaScript中,字符串连接是一个常见的操作,但在处理大量字符串连接时,性能问题...通过使用Array的`join()`方法或自定义的`StringBuffer`类,我们可以显著提高字符串连接的性能,同时保持代码的可读性和可维护性。

Global site tag (gtag.js) - Google Analytics