最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

裁剪字符串trim()自定義改進(jìn)版

 更新時間:2013年04月10日 16:12:59   作者:  
下面講述的是自定義trim()函數(shù)遇到的問題,改進(jìn)的過程,建議在支持的瀏覽器中使用原生函數(shù)

ECMAScript5已經(jīng)為字符串定義了原生的trim方法。這個方法可能比會比本文的任何版本的都要快。建議在支持的瀏覽器中使用原生函數(shù)。下面講述的是自定義trim()函數(shù)遇到的問題,改進(jìn)的過程。功夫在不斷淬煉中才能醇正。

JavaScript中沒有用于移除字符串頭尾空白的原生修剪方法。最常見的自定義trim()函數(shù)實(shí)現(xiàn)如下所示:

復(fù)制代碼 代碼如下:

function trim(text) {

return text.replace(/^\s+|\s+$/g, ‘');

}

這種實(shí)現(xiàn)使用一個正則表達(dá)式匹配字符串開頭和結(jié)尾的一或多個空白字符。replace()方法用空字符串替換所有匹配的部分。

然而這個實(shí)現(xiàn)方式有個基于正則表達(dá)式的性能問題,這種影響來自兩個方面:一方面是指明有兩個匹配模式的管道運(yùn)算符,另一方面是指明全局應(yīng)用該模式的g標(biāo)記。

考慮到這些,可以將正則表達(dá)式一分為二并去掉g標(biāo)記來重寫該函數(shù),稍稍提高它的速度。

復(fù)制代碼 代碼如下:

function trim(text) {

return text.replace(/^\s+/, ‘').replace(/\s+$/, ‘');

}

另一個改進(jìn)的版本。保證正則表達(dá)式盡可能地簡單。

復(fù)制代碼 代碼如下:

function trim(text) {

//刪除字符串的頭部空白

text = text.replace(/^\s+/, ‘');

// 循環(huán)清除尾部空白

for(var i=text.length; i--; ) {

if(/\S/.test(text.charAt(i))) { // \S 非空白字符

text = text.substring(0, i+1);

break;

}

}

return text;

}

使用建議:第2個trim()函數(shù)在小規(guī)模處理短字符串時性能還是好的。而第3個trim函數(shù)在處理長字符串時明顯更快。

題外話:簡單的裁剪字符串首尾空白字符函數(shù),引發(fā)了對正則表達(dá)式的性能問題的考慮并實(shí)現(xiàn)規(guī)避性能問題的方法。技術(shù)追求完美,只能在實(shí)踐中前行。

相關(guān)文章

  • js基礎(chǔ)知識(公有方法、私有方法、特權(quán)方法)

    js基礎(chǔ)知識(公有方法、私有方法、特權(quán)方法)

    這篇文章主要介紹了js基礎(chǔ)知識,包括公有方法、私有方法,以及特權(quán)方法的使用介紹,感興趣的小伙伴們可以參考一下
    2015-11-11
  • 一起來了解javascript數(shù)組的方法

    一起來了解javascript數(shù)組的方法

    這篇文章主要為大家詳細(xì)介紹了javascript數(shù)組的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • javascript document.execCommand() 常用解析

    javascript document.execCommand() 常用解析

    dom下execCommand命令的一些參數(shù)整理,需要的朋友可以參考下。
    2009-12-12
  • JQueryDOM之樣式操作

    JQueryDOM之樣式操作

    這篇文章主要介紹了JQueryDOM之樣式操作,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-03-03
  • JavaScript中setFullYear()方法的使用詳解

    JavaScript中setFullYear()方法的使用詳解

    這篇文章主要介紹了JavaScript中setFullYear()方法的使用詳解,是JS入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-06-06
  • 推薦JavaScript實(shí)現(xiàn)繼承的最佳方式

    推薦JavaScript實(shí)現(xiàn)繼承的最佳方式

    本文是介紹了實(shí)用call方法結(jié)合原型鏈方法來實(shí)現(xiàn)javascript繼承的最佳方式,非常的實(shí)用,有需要的小伙伴可以參考下
    2014-11-11
  • 最新評論

    闵行区| 江都市| 抚松县| 屏山县| 霸州市| 巴楚县| 天气| 怀安县| 松溪县| 龙游县| 娄烦县| 黄大仙区| 溧阳市| 庆安县| 广南县| 巨野县| 宝丰县| 房产| 忻城县| 色达县| 田林县| 上蔡县| 曲麻莱县| 红原县| 棋牌| 成都市| 右玉县| 高州市| 闸北区| 和平县| 九龙县| 托克逊县| 栾城县| 七台河市| 谷城县| 昭通市| 望都县| 南宫市| 静乐县| 昌黎县| 高邑县|