重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
打个比方:
专注于为中小企业提供成都网站设计、做网站服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业亭湖免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000多家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
var arr = [1,2,3,4,5,6];
for(var i = 0;i arr.length;i++) {
console.log(arr[i])
}
//以上优化就在iarr.length;循环每次都要访问他的length属性,不如先存起来,var len=arr.length;
//dom相关的,id选择器是最快的
//优化的细节很多,讲不清楚一下
我们可以使用”+”来拼接字符串,而对于操作频繁、讲究效率的字符串拼接操作我们应该选择StringBuilder类。在JavaScript中是否也存在这个问题呢?答案是肯定的,虽然JavaScript并没有为我们提供一个内置的StringBuilder对象,但是我们可以自己来创建一个!至于效率到底能提高多少,让程序说话吧!
//---StringBuilder---
function StringBuilder(){
this.__string__ = new Array();
}
StringBuilder.prototype.append = function(str){
this.__string__.push(str);
}
StringBuilder.prototype.toString = function(){
return this.__string__.join("");
}
var d1 = new Date();
var buffer = new StringBuilder();
for(var i = 1; i 10000; i++){
buffer.append("E3Card");
}
var strResult = buffer.toString();
var d2 = new Date();
document.write("StringBuilder用时:" + (d2.getTime() - d1.getTime()) + "br/");
//---+-----
var d3 = new Date();
var str = "";
for(var i = 1; i 10000; i++){
str += "E3Card";
}
var d4 = new Date();
document.write("+链接用时:" + (d4.getTime() - d3.getTime()) + "br/");
在我的机器上(Core2 3.0G/4GRAM),反复F5后得到一个,比较平稳的测试结果:
StringBuilder用时:32
+链接用时:1109
哇哦,30多倍,我没看错吧!
好了,赶紧自己做好一个Lib,以后都用这个StringBuilder吧:
function StringBuilder(){
this.__string__ = new Array();
}
StringBuilder.prototype.append = function(str){
this.__string__.push(str);
}
StringBuilder.prototype.toString = function(){
return this.__string__.join("");
}
javascript中字符串的拼接使用的是+号连接操作符,另外操作字符串的方法有
字符串其他的调用方法:
s.charAt(0); //第一个字符:“H”
s.charAt(s.length-1); //最后一个字符串“d”
s.substring(1,4); //第2~4个字符串注意不是第2~5个字符串 “ell”;
s.slice(1,4); // 同上 “ell”;
s.replace("H","h"); //“h”替换“H”,全文字符替换,
s.toUpperCase(); //全文大写
s.slice(-3); //最后三个字符“rld”;
s.indexOf("l"); //字符l首次出现的位置; “2”
s.lastIndexOf("l"); //字符l最后出现的位置; “10”
s.indexOf("l",3); //在位置33及之后首次出现字符串了的位置 “3”
s.split(", "); //[“hello”,“world”]分割成子串
合理使用这些方法可以提高操作效率