最近在寫一款前端組件的時(shí)候,無(wú)意發(fā)現(xiàn)正則與注釋之間的一點(diǎn)沖突,現(xiàn)分享下。
創(chuàng)新互聯(lián)公司自2013年創(chuàng)立以來(lái),先為寧波等服務(wù)建站,寧波等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為寧波企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問(wèn)題。
下邊是一段僅有正則表達(dá)式的代碼:
str = 'hello js fan';
console.log(str.match(/s.*/));
運(yùn)行結(jié)果如下圖:
下邊我加上注釋:
/*this is a test
str = 'hello js fan';
console.log(str.match(/s.*/));
*/
表面看這段代碼很正常,但運(yùn)行后呢?
這是運(yùn)行后的結(jié)果
顯示第3句后邊不應(yīng)該接')'。
猜測(cè)應(yīng)該是正則沒(méi)有使用引號(hào),導(dǎo)致JS解析時(shí)將正則里邊的"*/"做為了注釋的結(jié)尾。
大家在使用正則時(shí)注意這塊,小心掉入陷阱!
各位小伙伴們,不知道大家對(duì)此有什么看法呢?