JavaScript代碼中 變量是弱類型的 可以直接用+ 號拼接起來 eg: var string='sub';var i=1;var Sum=string+i;document.write(Sum); // 輸出的Sum 就是 sub1 原理:當String 和int 相加時 系統(tǒng)自動將int轉換為String
創(chuàng)新互聯(lián) - 德陽機房托管,四川服務器租用,成都服務器租用,四川網(wǎng)通托管,綿陽服務器托管,德陽服務器托管,遂寧服務器托管,綿陽服務器托管,四川云主機,成都云主機,西南云主機,德陽機房托管,西南服務器托管,四川/成都大帶寬,機柜大帶寬,四川老牌IDC服務商
我們可以使用”+”來拼接字符串,而對于操作頻繁、講究效率的字符串拼接操作我們應該選擇StringBuilder類。在JavaScript中是否也存在這個問題呢?答案是肯定的,雖然JavaScript并沒有為我們提供一個內(nèi)置的StringBuilder對象,但是我們可以自己來創(chuàng)建一個!至于效率到底能提高多少,讓程序說話吧!
//---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后得到一個,比較平穩(wěn)的測試結果:
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中字符串的拼接使用的是+號連接操作符,另外操作字符串的方法有
字符串其他的調(diào)用方法:
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首次出現(xiàn)的位置; “2”
s.lastIndexOf("l"); //字符l最后出現(xiàn)的位置; “10”
s.indexOf("l",3); //在位置33及之后首次出現(xiàn)字符串了的位置 “3”
s.split(", "); //[“hello”,“world”]分割成子串
合理使用這些方法可以提高操作效率
1.對NEWS,NEWS[i]使用局部變量是高效的:
var newsElem =NEWS[i]。NEWS[i].LINK - newsElem.LINK NEWS[i].TITLE - newsElem.TITLE
2.同理,對于NEWS.length也應該做緩存, for (var i=0, len= NEWS.length; len i; i++) //小于符號會被知乎吃掉,反過來寫的大于
3.使用join代替字符串拼接這個技巧對于IE6、7有顯著性能提升,同時對現(xiàn)代瀏覽器,沒有太過明顯的性能損耗,鑒于目前IE6、7市場占有率并不低,且它們的JS引擎執(zhí)行性能低下,垃圾回策略收策略弱智,這個優(yōu)化是劃算的。
JavaScript拼接字符串有兩種方法:
①用“+=”運算符:
var?str?=?"123";?
str+=?"456";?
var?result?=?"";?
for(var?i=0;?i,10;?i++)?result?+=?str;
這樣str在第二步的時候連接成為123456,result就會在每次循環(huán)的時候連接一遍"123456"。
②使用數(shù)組:
在循環(huán)拼接的時候不是相接拼接到某個字符串里去,而是把字符串放到一個數(shù)組里,最后用數(shù)組.join("") 得到結果字符串:
var?str?=?"123";
str+=?"456";
var?result?=?"",?a?=?new?Array();
for(var?i=0;?i10;?i++)?a[i]?=?str;
result?=?a.join("");?a?=?null;
script type="text/javascript"
function redirect(action)
{
window.location.href="result.asp?action=" + action;
} }
/script
下面這是用button調(diào)用redirect函數(shù)并將值list傳過去:
input type="button" name="list" value="全部影片" onclick="redirect('list')"/
標題名稱:javascript拼接字符串,js html字符串拼接
文章路徑:http://jinyejixie.com/article12/dssdsdc.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供Google、企業(yè)建站、移動網(wǎng)站建設、微信小程序、外貿(mào)網(wǎng)站建設、標簽優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)