第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

正則表達式實現(xiàn)render函數(shù)

正則表達式實現(xiàn)render函數(shù)

紅糖糍粑 2019-05-21 09:56:07
請問下為什么沒替換成功?打印信息為:name/${name}/'xiaoming'theageof${name}is${age}age/${age}/8theageof${name}is${age}consttemplate="theageof${name}is${age}";constdata={name:"xiaoming",age:8};console.log(render(template,data));//輸出:"theageofxiaomingis8"functionrender(template,data){for(keyindata){if(key){console.log(key);varre=newRegExp("\$\{"+key+"\}");console.log(re,data[key]);varans=template.replace(re,data[key]);//console.log("test:",template.replace("${name}","xiaoming"));console.log(ans);}}}
查看完整描述

2 回答

?
慕容森

TA貢獻1853條經(jīng)驗 獲得超18個贊

$表示字符串的結(jié)尾,是特殊字符,使用RegExp的時候,需要使用兩個\\轉(zhuǎn)義:
consttemplate="theageof${name}is${age}";
constdata={name:"xiaoming",age:8};
console.log(render(template,data));
//輸出:"theageofxiaomingis8"
functionrender(template,data){
for(keyindata){
if(key){
console.log(key);
varre=newRegExp("\\${"+key+"}");
//varre="${"+key+"}";//這塊直接使用字符串就行,不用正則也可以
console.log(re,data[key]);
template=template.replace(re,data[key]);
//console.log("test:",template.replace("${name}","xiaoming"));
console.log(template);
}
}
}
                            
查看完整回答
反對 回復(fù) 2019-05-21
?
眼眸繁星

TA貢獻1873條經(jīng)驗 獲得超9個贊

consttemplate="theageof${name}is${age}";
constdata={name:"xiaoming",age:8};
console.log(render(template,data));
functionrender(template,data){
varreg=/\$\{(\w*)\}/g;
returntemplate.replace(reg,function(a,b){
varval=data[b];
//可以拋出錯誤也可以給個默認空字符串
if(val===undefined)thrownewTypeError('Cannotreadproperty"'+b+'"ofundefined');
returnval;
})
}
                            
查看完整回答
反對 回復(fù) 2019-05-21
  • 2 回答
  • 0 關(guān)注
  • 583 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號