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

也說(shuō)JavaScript中String類(lèi)的replace函數(shù)

 更新時(shí)間:2011年09月22日 23:57:54   作者:  
最近讀了sharpxiajun的博文《javascript筆記--String類(lèi)replace函數(shù)的一些事》,感覺(jué)寫(xiě)的很好,很有幫助。
對(duì)回調(diào)函數(shù)的參數(shù)說(shuō)明也很準(zhǔn)確:
第一個(gè)參數(shù)是匹配到的字符串,最后一個(gè)是原字符串,倒數(shù)第二個(gè)參數(shù)是匹配到的字符串的在原字符串索引的起始位。
但我很好奇,第二到倒數(shù)第三之間的參數(shù)又是些什么呢?其實(shí),W3school已經(jīng)給出了答案:
復(fù)制代碼 代碼如下:

replace() 方法用于在字符串中用一些字符替換另一些字符,或替換一個(gè)與正則表達(dá)式匹配的子串。其語(yǔ)法為:
stringObject.replace(regexp/substr,replacement)
replacement 可以是字符串,也可以是函數(shù)。如果它是字符串,那么每個(gè)匹配都將由字符串替換。
ECMAScript v3 規(guī)定,replace() 方法的參數(shù) replacement 可以是函數(shù)而不是字符串。在這種情況下,每個(gè)匹配都調(diào)用該函
數(shù),它返回的字符串將作為替換文本使用。該函數(shù)的第一個(gè)參數(shù)是匹配模式的字符串。接下來(lái)的參數(shù)是與模式中的子表達(dá)式匹配的
字符串,可以有 0 個(gè)或多個(gè)這樣的參數(shù)。接下來(lái)的參數(shù)是一個(gè)整數(shù),聲明了匹配在 stringObject 中出現(xiàn)的位置。最后一個(gè)參數(shù)
是 stringObject 本身。

顯然,replacement函數(shù)的第二到倒數(shù)第三之間的參數(shù)是“與模式中的子表達(dá)式匹配的字符串”,具體個(gè)數(shù)起決于子表達(dá)式的個(gè)數(shù)。
據(jù)此,我們舉兩個(gè)例子來(lái)對(duì)比說(shuō)明:
例1:
字符串:"CJ9080"
匹配模式為:/CJ[0-9]{2}/g (無(wú)子表達(dá)式)
預(yù)期結(jié)果:
replacement函數(shù)有3個(gè)參數(shù),分別為:
【0】“CJ90”
【1】0
【2】“CJ9080”
測(cè)試代碼:
復(fù)制代碼 代碼如下:

function replaceStr(s) {
return s.replace(/CJ[0-9]{2}/g,
function(){
for (var i = 0, len = arguments.length; i < len; i++) {
console.info("Argument " + i + ": " + arguments[i]);
}
});
};

運(yùn)行結(jié)果:


例2:
字符串:"CJ9080"
匹配模式為:/((CJ)([0-9]{2}))/g (有3個(gè)子表達(dá)式:(CJ[0-9]{2}), (CJ), ([0-9]{2}))
預(yù)期結(jié)果:
replacement函數(shù)有6個(gè)參數(shù),分別為:
【0】 "CJ90"
【1】 "CJ90"
【2】 "CJ"
【3】 "90"
【4】 0
【5】 "CJ9080"
測(cè)試代碼:
復(fù)制代碼 代碼如下:

function replaceStr(s) {
return s.replace(/((CJ)([0-9]{2}))/g,
function(){
for (var i = 0, len = arguments.length; i < len; i++) {
console.info("Argument " + i + ": " + arguments[i]);
}
});
};

運(yùn)行結(jié)果:


顯然,兩個(gè)測(cè)試?yán)咏Y(jié)果均與預(yù)期一致。說(shuō)明,當(dāng)replace函數(shù)的replacement為函數(shù)時(shí),此函數(shù)的參數(shù)各位確如W3school所言:

【0】:匹配模式的字符串;
【1 - (length - 3)】: 與模式中的子表達(dá)式匹配的字符串, 0個(gè)或多個(gè);
【length - 2】:匹配串在原字符串的索引起始位置,從0開(kāi)始;
【length - 1】:原字符串。

相關(guān)文章

  • JavaScript繼承的三種方法實(shí)例

    JavaScript繼承的三種方法實(shí)例

    這篇文章主要給大家介紹了關(guān)于JavaScript繼承的三種方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • js實(shí)現(xiàn)模態(tài)框的拖拽效果

    js實(shí)現(xiàn)模態(tài)框的拖拽效果

    這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)模態(tài)框的拖拽效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-07-07
  • JavaScript中數(shù)組去重常用的五種方法詳解

    JavaScript中數(shù)組去重常用的五種方法詳解

    去重是開(kāi)發(fā)中經(jīng)常會(huì)碰到的一個(gè)熱點(diǎn)問(wèn)題,這篇文章主要介紹了JS中實(shí)現(xiàn)數(shù)組去重中常用的5個(gè)方法,文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-06-06
  • JS中事件冒泡和事件捕獲介紹

    JS中事件冒泡和事件捕獲介紹

    這篇文章主要為大家詳細(xì)介紹了JS中事件冒泡和事件捕獲的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-12-12
  • JavaScript實(shí)現(xiàn)復(fù)制內(nèi)容到粘貼板代碼

    JavaScript實(shí)現(xiàn)復(fù)制內(nèi)容到粘貼板代碼

    最近做了一個(gè)前端項(xiàng)目,其中有需求:通過(guò)button直接把input或者textarea里的值復(fù)制到粘貼板里。下面小編給大家分享JavaScript實(shí)現(xiàn)復(fù)制內(nèi)容到粘貼板代碼,需要的朋友參考下
    2016-03-03
  • 分頁(yè)欄的web標(biāo)準(zhǔn)實(shí)現(xiàn)

    分頁(yè)欄的web標(biāo)準(zhǔn)實(shí)現(xiàn)

    分頁(yè)欄是網(wǎng)頁(yè)上最常見(jiàn)不過(guò)的一個(gè)組件,本博文給出分頁(yè)欄的一個(gè)web2.0標(biāo)準(zhǔn)示例,并作簡(jiǎn)要分析
    2011-11-11
  • JavaScript異步編程常見(jiàn)面試題匯總

    JavaScript異步編程常見(jiàn)面試題匯總

    本文將帶大家學(xué)習(xí)異步編程這一塊內(nèi)容,鑒于異步編程是js中至關(guān)重要的內(nèi)容,所以我們將學(xué)習(xí)異步編程涉及到的重點(diǎn)和難點(diǎn),同時(shí)這一塊內(nèi)容也是面試??挤秶M麑?duì)大家有所幫助
    2023-02-02
  • 線(xiàn)路分流自動(dòng)智能跳轉(zhuǎn)代碼,自動(dòng)選擇最快鏡像網(wǎng)站(js)

    線(xiàn)路分流自動(dòng)智能跳轉(zhuǎn)代碼,自動(dòng)選擇最快鏡像網(wǎng)站(js)

    線(xiàn)路分流自動(dòng)智能跳轉(zhuǎn)代碼,自動(dòng)選擇最快鏡像網(wǎng)站,自動(dòng)選擇電信或網(wǎng)通線(xiàn)路跳轉(zhuǎn)代碼
    2011-10-10
  • 詳談javascript異步編程

    詳談javascript異步編程

    這篇文章主要為大家詳細(xì)介紹了javascript異步編程,其實(shí)作為一種編程語(yǔ)言Javascript的異步編程是一個(gè)非常值得討論的有趣話(huà)題,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 純js實(shí)現(xiàn)div內(nèi)圖片自適應(yīng)大小(已測(cè)試,兼容火狐)

    純js實(shí)現(xiàn)div內(nèi)圖片自適應(yīng)大小(已測(cè)試,兼容火狐)

    純js實(shí)現(xiàn)在img圖片大小未知,div大小未知的情況下,讓圖片自適應(yīng)大小,需要的朋友可以參考下
    2014-06-06

最新評(píng)論

霸州市| 曲靖市| 湖州市| 崇信县| 江源县| 都昌县| 民县| 五家渠市| 长葛市| 广安市| 云浮市| 张家界市| 河源市| 七台河市| 静乐县| 辽阳市| 石景山区| 马尔康县| 崇左市| 河北区| 平邑县| 大丰市| 德令哈市| 温宿县| 清新县| 敦化市| 台北市| 保靖县| 神木县| 兖州市| 武邑县| 鄂州市| 乌兰察布市| 安阳市| 贵定县| 文成县| 喜德县| 兴安盟| 西峡县| 万宁市| 西充县|