首頁 web前端 js教程 淺談jQuery中replace()方法_jquery

淺談jQuery中replace()方法_jquery

May 16, 2016 pm 03:59 PM
jquery replace()

今天在讀jquery原始碼時,發現一個以前自己不曾注意過得問題,就是replece()的第二個參數為函數時的問題,以前只是知道replace()的第二個參數可以為函數,但是不知道該怎麼操作,今天看到源碼裡用到了函數作為replace()的第二個參數時,感覺自己讀起來比較吃力,於是準備整理下這個函數...

文法

stringObject.replace( regexp/substr, replacement)

傳回值

傳回一個新的字串,是用replacement取代了regexp的第一次匹配或所欲匹配之後得到的

當replace()方法的參數replacement是函數時,在這種情況下,每個匹配都會呼叫該函數,函數傳回的字串作為替換文字使用。此函數的第一個參數是匹配模式的字串。接下來的參數是與模式中的子表達式相符的字串,可以有0個或多個這樣的參數。接下來的參數是一個整數,宣告了匹配在stringObject中出現的位置。最後一個參數是stringObject本身。這席話是抄至w3cschool,對於現在的我來說以上的那段話我看著不是很明白,也不能用自己的話來簡單描述下,所以只能用實例來說明這一切

複製程式碼 程式碼如下:

var string = "abc123-ii";
string.replace(/(d)-([da-z])/g,function( str1, str2, str3,str4,str5){
         console.log( str1 );// 3-i
         console.log( str2 );// 3(第一個捕獲)
         console.log( str3 );// i(第二個不捕獲組)
         console.log( str4 );// 5(符合string中出現的位置)
         console.log( str5 );// abc123-ii(string本身)
         return "I";
})

以上是今天我在看jquery源碼

複製程式碼 程式碼如下:

camelCase: function( string ) {
        return string.replace( rmsPrefix, "ms-" ).replace( rdashAlpha, fcamelCase );
    },
fcamelCase = function( all, letter ) {
        return letter.toUpperCase();
    };

  時所引發的一些不明白,感覺現在自己對這個函數懂了的樣子

然後現在我又想起不知道在以前什麼時候,自已在用repleace()所遇到的對於那時的我來說是怪符號,形如“$1,$2”等等。現在夜來對這問題來做一個解答了

$1,$2, $3.....表示捕獲1,2,3....

複製程式碼 程式碼如下:

var string = "abc123-ii";
console.log(string.replace(/(d)-([da-z])/g, "$1")); // 用捕獲組1(3)去替換/(d)-([da-z ])/g
 

$&表示與regexp相符的子字串

複製程式碼 程式碼如下:

var string = "abc123-ii";
console.log(string.replace(/(d)-([da-z])/g, "$&")); // 用與regexp相符的字串(3-i)去替換/(d )-([da-z])/g

$`表示位於符合子字串左側的文字

複製程式碼 程式碼如下:

var string = "abc123-ii";
console.log(string.replace(/(d)-([da-z])/g, "$`")); // 用符合字串左側的文字(abc12)去取代/(d)- ([da-z])/g

$'表示位於匹配子字串右側的文字

複製程式碼 程式碼如下:

var string = "abc123-ii";
console.log(string.replace(/(d)-([da-z])/g, "$'")); // 用位於符合字串右側的文字去取代/(d)-([ da-z])/g
  

 $$直接為$符號

複製程式碼 程式碼如下:

var string = "abc123-ii";
console.log(string.replace(/(d)-([da-z])/g, "$$")); // 用$符號去取代/(d)-([da-z])/ g

以上是自己對於replace()方法使用不明確的地方,本人前端小白,如果有寫的不對的地方,或者有關於此方法更好用法的實例希望各位看官能夠分享...

以上所述就是本文的全部內容了,希望大家能夠喜歡。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

jQuery引用方法詳解:快速上手指南 jQuery引用方法詳解:快速上手指南 Feb 27, 2024 pm 06:45 PM

jQuery引用方法詳解:快速上手指南

jQuery中如何使用PUT請求方式? jQuery中如何使用PUT請求方式? Feb 28, 2024 pm 03:12 PM

jQuery中如何使用PUT請求方式?

jQuery如何移除元素的height屬性? jQuery如何移除元素的height屬性? Feb 28, 2024 am 08:39 AM

jQuery如何移除元素的height屬性?

jQuery小技巧:快速修改頁面所有a標籤的文本 jQuery小技巧:快速修改頁面所有a標籤的文本 Feb 28, 2024 pm 09:06 PM

jQuery小技巧:快速修改頁面所有a標籤的文本

使用jQuery修改所有a標籤的文字內容 使用jQuery修改所有a標籤的文字內容 Feb 28, 2024 pm 05:42 PM

使用jQuery修改所有a標籤的文字內容

深度剖析:jQuery的優勢與劣勢 深度剖析:jQuery的優勢與劣勢 Feb 27, 2024 pm 05:18 PM

深度剖析:jQuery的優勢與劣勢

了解jQuery中eq的作用及應用場景 了解jQuery中eq的作用及應用場景 Feb 28, 2024 pm 01:15 PM

了解jQuery中eq的作用及應用場景

如何判斷jQuery元素是否具有特定屬性? 如何判斷jQuery元素是否具有特定屬性? Feb 29, 2024 am 09:03 AM

如何判斷jQuery元素是否具有特定屬性?

See all articles