JavaScript字符串拼接方法:
1. +号: var result = “hello” + ” ” + “world”;
2. 数组join方法:var arr = ["hello", " ", "world"]; arr.join(“”);
示例代码:
<html>
<head>
<script type="text/javascript">
function main() {
var str = "Hello World";
var tab = "";
document.getElementById("time1").innerHTML = new Date().getTime();
for (var i = 0; i < 10000; i++) {
tab += str + i;
}
document.getElementById("time2").innerHTML = new Date().getTime();
var tab2 = [];
document.getElementById("time3").innerHTML = new Date().getTime();
for (var i = 0; i < 10000; i++) {
tab2.push(str + i);
}
document.getElementById("time4").innerHTML = new Date().getTime();
}
</script>
</head>
<body onload="main();">
<div id="time1"></div>
<div id="time2"></div>
<div id="time3"></div>
<div id="time4"></div>
</body>
</html>
选取的数据为10000次连接相加,测试结果如下:
浏览器 | 字条串+ | 字符串数组join |
IE6 | 171毫秒 | 30毫秒 |
IE7 | 171毫秒 | 20毫秒 |
Chrome15 | 3毫秒 | 1毫秒 |
Firefox8 | 1毫秒 | 1毫秒 |
Opera11.52 | 3毫秒 | 3毫秒 |
现代的浏览器,通过+与通过join在IE上有比较大的不同,如果考虑的是主要为IE6和IE7等用户的话,数据量大,则优先考虑使用数组的join方法为好。
如果数据量小的话或者是数据较短,而语义上有连续的话,使用+为好,直接,并且容易看懂。
分享到:
相关推荐
在开发中大家也都会注意尽量使用StringBuilder而不采用普通的字符串拼接方式。但是可能大部分开发者却忽略了js中也需要注意这种效率问题。 下面进行一项性能测试,用事实来说话! 代码如下: function xntest(){ var ...
我结合下面译者的译注和上网查找得出的结论大概是这样的:对于IE/7,使用Aarry.join()连接大量字符串的效率确实优于使用+元素运算符,归根到底是由于IE
每拼接一次字符串就循环重复2)~6),如果重复成百上千次则会非常消耗资源,影响性能。 解决方法: 使用 Array 对象存储字符串,之后使用 join()方法输出结果。 仿照 Java 中的 StringBuffer 类。
var str=”hello”; str+=”world”; 实际上,这段代码在幕后执行的步骤如下:...解决方法是用Array对象存储字符串,然后用join()方法(参数是空字符串)创建最后的字符串。想像用下面的代码代替前面的代码: 代码如下:
一:丢弃SQL语句直接拼接,虽然这个写起来很快很方便。 二:如果用SQL语句,那就使用参数化,添加Param 三:尽可能的使用存储过程,安全性能高而且处理速度也快 四:屏蔽SQL,javascript等注入(很是主要的)...
通过数组,拓展字符串拼接容易导致性能的问题 代码如下: function StringBuffer() { this.__strings__ = new Array(); } StringBuffer.prototype.append = function (str) { this.__strings__.push(str); ...
在平时编码中,经常要做拼接字符串的工作,如把json数据用HTML展示出来,以往字符串拼接与逻辑混在在一起会让代码晦涩不堪,加大了多人协作与维护的成本。而采用前端模板机制就能很好的解决这个问题
不要使用拼接字符串的方式构造SQL语句而采用参数命令 使用存储过程 存储过程在数据库中 只能执行存储过程中固定的代码 限制输入长度 防止黑客输入超大字符串,导致服务器瘫痪 防止黑客输入较长的恶意脚本等 ...
字符串操作 复杂: 时间 空间 迭代,2 次循环 O(n^2) 0(?) 大批 数组内置方法 复杂: 时间 空间 推 O(1) 0(1) 流行音乐 O(1) 0(1) 转移 上) 0(1) 不移位 上) 0(1) 删除 上) 0(1) 反向、拼接、切
执行拼接的程序字符串,但可能带来性能问题。另一个方法是使用符号属性的方式来访问函数,因为函数都是window对象的属性。 利用window[函数名] 来代表该function对象,用window[函数名]()来执行或调用该函数。 例子...
第4~9章重点针对jdk api的使用提出了80条建议,例如字符串的拼接方法该如何选择、枚举使用时有哪些注意事项、出现nullpointerexception该如何处理、泛型的多重界限该如何使用、多线程编程如何预防死锁,等等;...