国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript String.replace函數參數實例說明

2019-11-20 22:39:41
字體:
來源:轉載
供稿:網友
Email:longsu2010 at yeah dot net
js String的replace函數的函數簽名如下:
replace(match/* 字符串OR正則表達式 */, replacement/* 字符串OR函數 */)
作用是將源自符串中的match替換為replacement并返回替換后的字符串。
如果第一參數是字符串就沒什么好說的了,但是要記住此時只在源自符串替換一次match(第一次)函數就執行完成了。

所以第一參數通常是一個正則表達式,舉例如下:
replace(/a/g, "b") // 將源自符串中所有的a替換為b。

第二參數可以是一個字符串,該字符串中可以包含第一參數正則表達式的分組,舉例如下:
replace(/(a){2,2}/g, "$1b") // 將源自符串中所有的aa替換為ab。

如果第二參數是一個函數的話,那么函數的參數是什么呢?舉例如下:
復制代碼 代碼如下:

"bbabc".replace(/(a)(b)/g, function(){
console.log(arguments)
});

參數將依次為:
1、整個正則表達式匹配的字符。
2、第一分組匹配的內容、第二分組匹配的內容…… 以此類推直到最后一個分組。
3、此次匹配在源自符串中的下標(位置)。
4、源自符串
所以例子的輸出是

["ab", "a", "b", 2, "bbabc"]

第二參數的返回值將會被替換到源自符串中,因若js函數無返值那么調用函數會得到undefined,所以如果第二參數無返回值undefined將會被替換到源自符串中。
如果第一參數是一個字符串,同時第二參數是一個函數的話,那就當成第一參數是一個沒有分組的正則表達式好了,這樣就可以確定第二參數的參數了。
文中有一些表述不當之處,如“替換到源自符串中”(源自符串只是充當模板的角色,并不真正發生改變,字符串是不可改變的變量),希望不會誤導大家。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 桓仁| 梧州市| 永修县| 高台县| 旌德县| 云梦县| 阳原县| 乃东县| 巴林右旗| 嘉荫县| 雷山县| 津南区| 兴和县| 祁门县| 莱阳市| 邳州市| 辽阳市| 湟源县| 盐津县| 嘉荫县| 通渭县| 普定县| 铅山县| 东乌| 丰城市| 资阳市| 军事| 唐河县| 措美县| 巴中市| 石狮市| 浮梁县| 比如县| 陆川县| 济源市| 东乌珠穆沁旗| 治多县| 台南市| 常熟市| 台南市| 巴青县|