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

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

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

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

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

復制代碼 代碼如下:

function trim(text) {

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

}

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

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

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

復制代碼 代碼如下:

function trim(text) {

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

}

另一個改進的版本。保證正則表達式盡可能地簡單。

復制代碼 代碼如下:

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ā)了對正則表達式的性能問題的考慮并實現(xiàn)規(guī)避性能問題的方法。技術追求完美,只能在實踐中前行。

相關文章

  • js基礎知識(公有方法、私有方法、特權方法)

    js基礎知識(公有方法、私有方法、特權方法)

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

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

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

    javascript document.execCommand() 常用解析

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

    JQueryDOM之樣式操作

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

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

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

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

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

    多伦县| 延津县| 汨罗市| 房产| 肥东县| 莱西市| 临沭县| 渑池县| 肇州县| 双柏县| 剑河县| 韶关市| 巴彦淖尔市| 建瓯市| 绥江县| 梁山县| 香港 | 安多县| 永德县| 拜泉县| 崇州市| 玉屏| 鸡东县| 福州市| 宁陵县| 甘孜| 青神县| 信宜市| 绥德县| 阳西县| 桃江县| 呼和浩特市| 河南省| 铁力市| 民权县| 正镶白旗| 噶尔县| 黔南| 泾川县| 麻城市| 通道|