`

字符串+还是数据push

 
阅读更多

在早期的浏览器中,没有创建和销毁中间字符串,在大量字符串连接情况下,数组push技术已被证明远快于使用加法方式。

如今浏览器对字符串的优化已经改变了字符串相连的局面。Safari、Opera、Chrome、Firefox和IE8都在使用加法运算 符上表现出了更好的性能。但是,IE8之前的版本没有优化,因此数组方法依然有效。这并不意味着字符串相连时我们要进行浏览器检测。在决定如何连接时要考 虑的是字符串的大小和数量。

当字符串相对较小(小于20字符)且连接数量也较小时(小于1000个),所有的浏览器使用加法运算符都能在不到1毫秒内轻松完成连接。增 加字符串数量或大小时,IE7中性能会明显下降。字符串大小增加时,Firefox中加法运算符和数组成技巧性能差异会变小。字符串数量增加 时,Safari中加法运算符和数组成技巧性能差异会变小。改变字符串数量或大小时,Chrome和Opera中加法运算符一直保持领先优势。

所以,由于在各浏览器下性能不一致,选用技术取决于实际情况和面对的浏览器。

大多数情况下,加法运算符是首选;如果用户主要使用IE6或7,并且字符串大小较大或数量较多时,那么数组技术就很值得。

分享到:
评论

相关推荐

    java字符串处理取出括号内的字符串

    在Java编程语言中,字符串...总的来说,无论是通过正则表达式还是通过栈,Java都提供了灵活且高效的方法来处理字符串,包括提取括号内的内容。理解并熟练运用这些工具,能帮助开发者更有效地处理各种字符串相关的任务。

    数据结构的栈、队列、字符串

    栈、队列和字符串是数据结构中常见的三种类型,它们在编程中有着广泛的应用。 栈(Stack)是一种“后进先出”(Last In, First Out, LIFO)的数据结构。想象一个堆叠的盘子,最后放上去的盘子最先被取走。在栈中,...

    汇编语言实验字符串位置的查找

    ### 汇编语言实验:字符串位置的查找 本文将基于提供的汇编代码,解析如何在汇编语言中实现字符串的输入以及特定字符在该字符串中的位置查找。 #### 数据段 (DATAS) 数据段用于定义程序运行时所需的数据变量: ``...

    字符串按指定的字符串进行分隔

    字符串按指定的字符串进行分隔是一项常见的操作,它可以帮助我们解析和分析数据。本篇将详细探讨如何在C++中实现这一功能,同时涵盖指针和字符串处理的相关知识。 首先,当我们知道分隔符的数量时,可以使用`strtok...

    以任意指定的字符分割一个字符串,然后保存在字符串数组中

    无论你选择哪种编程语言,理解和熟练掌握字符串分割技巧都是非常重要的,因为这是处理和分析文本数据的基本步骤。在实际应用中,你可能会遇到更复杂的场景,比如处理多字符分隔符、忽略空格、处理转义字符等,这些都...

    在C语言函数中调用汇编语言程序实现字符串的拷贝

    在C语言中,我们通常使用标准库函数如`strcpy`来拷贝字符串。然而,在某些特定情况下,如优化性能或理解底层操作,我们可能需要直接调用汇编语言程序来实现这一功能。在这个主题中,我们将探讨如何在C语言函数中嵌入...

    十六进制字符串和数值相互转换

    在C++编程中,进行十六进制字符串和数值之间的转换是常见的操作,特别是在处理内存数据、颜色代码或者文件偏移量等方面。 首先,我们要了解如何将十六进制字符串转换为整数值。在C++中,可以使用`std::stringstream...

    将字符串按某字符分开

    例如,如果我们有一个包含逗号分隔的数据的字符串,可以先用`std::getline`按逗号分割,然后逐个处理子字符串。 2. `std::stringstream`:这是C++中的一个I/O流对象,它可以像对待文件一样对待内存中的字符串。通过...

    C++分离字符串

    在C++编程中,处理字符串是一项常见的任务,尤其是在解析用户输入、读取配置文件或进行数据交换时。本文将深入探讨如何在C++中“分离”字符串,即把一个长字符串分割成多个子字符串,每个子字符串代表原字符串中的一...

    c++ 字符串操作

    ### C++字符串操作详解 #### 引言 随着C++的发展与完善,标准库中引入了许多高级特性,其中`std::string`类就是一个典型代表。相比于传统的`char*`方式处理字符串,`std::string`提供了更为强大和安全的功能。本文...

    字符串括号匹配(c实现)

    在编程领域,字符串括号匹配是一项基础且重要的任务,它涉及到语法分析和编译原理。在C语言中,我们可以利用栈这一数据结构来解决这个问题。本文将深入探讨字符串括号匹配的概念、C语言的实现方法以及相关的编程技巧...

    用string拆分字符串

    在编程领域,字符串(String)是数据处理的基本元素之一,经常需要进行拆分操作。当我们处理包含多个信息片段的字符串时,比如以特定分隔符连接的数据,就需要使用字符串的拆分方法来获取各个部分。本篇文章将深入探讨...

    指定符号分割字符串

    `std::stringstream`是一个能够读写数据的流对象,它可以像操作文件流一样操作内存中的字符串。`std::getline`函数则可以从输入流中读取一行,并允许我们指定分隔符。 下面是一个简单的例子,演示如何按照指定的...

    数据结构中字符串的匹配

    字符串匹配int main() { stack openings; char symbol; bool is_matched = true; while(is_matched&&(symbol=cin.get())!='\n') { if(symbol=='{'||symbol=='('||symbol=='[') openings.push(symbol); if...

    C++ 16进制和字符串批量转换

    在C++编程中,进行16进制与字符串之间的转换是一项常见的任务,特别是在处理二进制数据、网络通信或串口通信时。本教程将详细阐述如何在C++中实现混合字符串(包括汉字和数字等字符)的批量16进制转换以及16进制到...

    用string拆分字符串.zip

    总的来说,字符串拆分是跨语言的重要操作,它使得我们能够处理和解析包含多个部分的数据。在实际开发中,无论是日志分析、配置文件解析还是数据导入导出,都离不开这个功能。了解并熟练掌握各种编程语言中的字符串...

    判断字符串是否是一样的字符

    **标题:“判断字符串是否是一样的字符”** 此函数主要用于检查一个字符串中的所有字符是否完全相同。在实际应用中,这种需求常见于密码验证、数据校验等场景,例如:在用户设置密码时,系统可能需要确保密码不是由...

    js对中文字符串进行gb2312编码解码

    对于一个GB2312编码的字符串,它会被转化为一系列16进制的数字对,通常用百分号(%)来分隔,例如“中国”编码后的形式是:“%D6%D0%B9%FA”。 在JavaScript中,我们可以使用内置的`escape()`和`unescape()`函数来...

    动态字符串数组封装的类

    在编程领域,动态字符串数组是一种常见的数据结构,它允许程序在运行时动态地改变数组的大小。这种数据结构在很多编程语言中都有实现,比如C++中的`std::vector<std::string>`,Java中的`ArrayList<String>`,或者...

    C++输入一段字符串计算结果

    在C++编程中,处理字符串计算是一个涉及到字符串处理、表达式解析和数学计算的过程。这个任务需要我们将用户输入的一段类似“1*2+3-4/4”的字符串解析成可执行的数学表达式,并计算出结果。下面,我们将详细讨论实现...

Global site tag (gtag.js) - Google Analytics