亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

白話解釋下這段js代碼,關于replace

白話解釋下這段js代碼,關于replace

開心每一天1111 2022-02-24 19:15:59
var str = "sdf\n\t1";str = str.replace(/\n|\r|\t/g, function(ch) {switch (ch) {case "\n": return "\\n";case "\r": return "";case "\t": return "\\t";}});=>正則我看的懂,關鍵是replace的第二個參數,是個匿名function。那個匿名function(ch)參數ch,為什么會是 前面正則的字符(?。≈饕忉屵@個匿名函數及其參數?。。ゝunction (ch) 這個ch參數是怎么傳進來滴。
查看完整描述

3 回答

?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

我的理解是:如果str符合/\n|\r|\t/g 這個匹配要求,則進入function
也就是說如果str.match(/\n|\r|\t/g)!=null 就將str.match(/\n|\r|\t/g)傳入fuction
所以那個ch=str.match(/\n|\r|\t/g)
然后把替換后的ch再放回去,這個就不是match的功能而是replace的功能了

查看完整回答
反對 回復 2022-02-28
?
慕絲7291255

TA貢獻1859條經驗 獲得超6個贊

ch,或者word都可以……
首先我們來了解下基本的語法:string.replace(regexp, replacement)
regexp :您要執行替換操作的正則表達式,如果傳入的是一個字符串,那就會當作普通字符來處理,并且只會執行一次替換操作;如果是正則表達式,并且帶有 global (g) 修飾符,則會替換所有出現的目標字符,否則,將只執行一次替換操作。
replacement :您要替換成的字符。
返回值是執行替換操作后的字符串。

下面用幾個例子來詳細的說明下:
1、String.replace( ) 替換所有出現的目標字符
Code:
var text= "javascript 非常強大 !JAVASCRIPT 是我最喜歡的一門語言 !";
text.replace(/javascript/ig, "JavaScript");
// 返回:JavaScript 非常強大 !JavaScript 是我最喜歡的一門語言 !

2、String.replace( ) 實現調換位置
Code:
var name= "aaaa, bbcc";
name.replace(/(\w+)\s*,\s*(\w+)/, "$2 $1");
// 返回:bbcc aaaa

3、String.replace( ) 實現將所有雙引號包含的字符替換成中括號包含的字符
Code:
var text = '"JavaScript" 非常強大!';
text.replace(/"([^"]*)"/g, "[$1]");
// 返回:[JavaScript] 非常強大!

4、String.replace( ) 將所有字符首字母大寫
Code:
var text = 'a journey of a thousand miles begins with single step.';
text.replace(/\b\w+\b/g, function(word) {
return word.substring(0,1).toUpperCase( ) +
word.substring(1);
});
// 返回:A Journey Of A Thousand Miles Begins With Single Step.




查看完整回答
反對 回復 2022-02-28
?
鴻蒙傳說

TA貢獻1865條經驗 獲得超7個贊

var str = "sdf\n\t1";
alert(str);
str = str.replace(/\n|\r|\t/g, function(ch) {
switch (ch) {
case "\n": return "\\n";
case "\r": return "";
case "\t": return "\\t";
}
});
alert(str);

在執行前,執行后分別alert一下就知道什么意思啦
\n\r\t都是轉義字符
\n 換行
\r 返回
\t 制表



查看完整回答
反對 回復 2022-02-28
  • 3 回答
  • 0 關注
  • 186 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號