婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > JS正則表達式字面量和使用new RegExp構造函數創建的正則表達式有什么區別

JS正則表達式字面量和使用new RegExp構造函數創建的正則表達式有什么區別

熱門標簽:知名的電話機器人 高德地圖標注短信簽約 RO地圖標注app 錫林郭勒盟地圖標注位置 電銷機器人公司簡介 百音電話機器人 湖南企業智能外呼系統供應商 自制電銷機器人 福州工作銷售電話機器人

我們在js中只用字符替換的時候,經常會遇到兩種寫法,直接字面量

1、str.replace(/nbsp;/ig,"");

2、new RegExp的方式

測試代碼

form name=form1> 
字符串:input name="t1" value="123456"> 
模式:/input name="t2" value="^\d*$">/ 
/form> 
script language=javascript> 
function c1() 
 { 
 re=new RegExp("^\d*$"); 
 alert(re.test("123456")); 
 } 
function c2(form) 
 { 
 re=new RegExp(form.t2.value); 
 alert(re.test(form.t1.value)); 
} 
function c3(){ 
 re=/^\d*$/; 
 alert(re.test("123456")); 
 } 
 c1(); 
 c2(document.form1); 
 c3(); 
/script> 

上面的代碼結果為:FALSE,TRUE,TRUE

請問結果中為什么第一個為FALSE?

第一個應為   re=new   RegExp("^\\d*$");     

 \在引號中需要轉義

第一雙有雙引號,雙引號要加多一次轉義的,第二個沒有,這就是區別 

不過今天看來一篇文章,對于復雜類的替換還是用new 來寫出來。前提也得把正則優化好。

以前看到很多文章都說 字面量 會比 new 對象 形式效率高,但是在正則這里,好像不是這么回事。
不過也不能直接否認這個觀點,因為我一直都用字面量的,簡潔美觀,用著方便才是王道。

我覺得在數據量大,或者重復操作次數多的時候用 new RegExp 是很必要的。
因為你也看到了性能提升這么多。
當然前提條件是你的正則必須優化,正則沒優化的情況,兩種差不多。

所以優化你的正則,然后用 new RegExp 可以大幅度提升程序的性能。

PS: IE11 是個特例,這貨從來不安套路出牌。

好了今天的分享完畢,你們都蠢蠢欲動了吧,快去把正則各種new起來吧。

JS正則使用正則表達式字面量和使用 RegExp 構造函數創建的正則表達式有什么不一樣?

下面的內容摘自某書
使用正則表達式字面量和使用 RegExp 構造函數創建的正則表達式不一樣。在 ECMAScript 3 中, 正則表達式字面量始終會共享同一個RegExp實例,而使用構造函數創建的每一個新RegExp實例都是一個新實例。來看下面的例子。

var re = null,
  i;
for (i=0; i  10; i++){
 re = /cat/g;
 re.test("catastrophe");
}
for (i=0; i  10; i++){
 re = new RegExp("cat", "g");
 re.test("catastrophe");
}

在第一個循環中,即使是循環體中指定的,但實際上只為 /cat/ 創建了一個 RegExp 實例。由于實例屬性不會重置,所以在循環中再次調用 test() 方法會失敗。這是因為第一次調用 test() 找到了"cat",但第二次調用是從索引為 3 的字符(上一次匹配的末尾)開始的,所以就找不到它了。由于會測試到字符串末尾,所以下一次再調用 test()就又從開頭開始了。
第二個循環使用 RegExp 構造函數在每次循環中創建正則表達式。因為每次迭代都會創建一個新的 RegExp 實例,所以每次調用 test()都會返回 true。

沒能看懂,我測試了下兩種方式來測試,都是返回了10次 true 啊
如果放開ES5標準不說,假如是ES3的話是不是說第一種情況是5次,第二種情況是10次呢?

var re = null,
 b = 0,
 c = 0,
 tmp,
 i;
for (i=0; i  10; i++){
 re = /cat/g;
 tmp = re.test("catastrophe");
 console.log(tmp);
 if(tmp){
  b++ ;
 }
}
for (i=0; i  10; i++){
 re = new RegExp("cat", "g");
 tmp = re.test("catastrophe");
 console.log(tmp);
 if(tmp){
  c++;
 }
}
console.log(b,c);

你自己都說那是ES3的標準了,現在ES5都普及了,ES6的出現也指日可待了。

ES5標準里不管哪種方式都會創建一個獨立的正則表達式。現代瀏覽器一般都支持ES5了。

因為現在要看ECMA5.1了,標準中明確指出

A regular expression literal is an input element that is converted to a RegExp object (see 15.10) each time the literal is evaluated. Two regular expression literals in a program evaluate to regular expression objects that never compare as === to each other even if the two literals' contents are identical.

正則表達式字面量每次被計算時都會被轉換成一個正則對象,即使內容一致,這些對象也并不相同

您可能感興趣的文章:
  • js之ActiveX控件使用說明 new ActiveXObject()
  • javascript中IE瀏覽器不支持NEW DATE()帶參數的解決方法
  • 關于js new Date() 出現NaN 的分析
  • Javascript new關鍵字的玄機 以及其它
  • Javascript new Date().valueOf()的作用與時間戳由來詳解
  • js中關于new Object時傳參的一些細節分析
  • javascript new一個對象的實質
  • JavaScript中的new的使用方法與注意事項
  • js中獲取時間new Date()的全面介紹
  • JavaScript初學者必看“new”

標簽:茂名 西寧 怒江 秦皇島 昆明 河北 玉林 吉林

巨人網絡通訊聲明:本文標題《JS正則表達式字面量和使用new RegExp構造函數創建的正則表達式有什么區別》,本文關鍵詞  正則,表達式,字面,量,和,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《JS正則表達式字面量和使用new RegExp構造函數創建的正則表達式有什么區別》相關的同類信息!
  • 本頁收集關于JS正則表達式字面量和使用new RegExp構造函數創建的正則表達式有什么區別的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    精品国产污网站| 欧美一区二区三区色| 亚洲一二三区视频在线观看| 欧美日韩国产在线观看| 毛片不卡一区二区| 国产精品电影院| 欧美日韩亚洲高清一区二区| 韩日欧美一区二区三区| 亚洲青青青在线视频| 91精品国产综合久久久久久| 成人亚洲一区二区一| 国产精品入口麻豆九色| 欧美另类z0zxhd电影| 成人美女视频在线观看18| 亚洲成人av资源| 中文无字幕一区二区三区| 欧美日韩一区三区| 高清不卡在线观看| 日韩不卡免费视频| 亚洲视频一区在线| 精品成人私密视频| 欧美巨大另类极品videosbest | 国产欧美精品日韩区二区麻豆天美| 国产69精品久久99不卡| 亚洲成人在线免费| 久久精品一区蜜桃臀影院| 欧美日韩国产综合一区二区| 不卡电影一区二区三区| 另类小说欧美激情| 亚洲韩国一区二区三区| 亚洲图片激情小说| 欧美精品一区二区三| 欧美日韩国产影片| 在线国产亚洲欧美| 成人综合激情网| 久久成人免费电影| 五月婷婷综合激情| 亚洲欧美日韩国产综合| 欧美经典一区二区| 久久综合九色综合97婷婷 | 色综合一区二区| 成人免费视频一区二区| 国产在线精品一区二区不卡了| 亚洲国产日韩av| 国产精品麻豆一区二区 | 亚洲图片自拍偷拍| 亚洲毛片av在线| 国产精品久久一级| 国产精品久久久久久久午夜片| 欧美精品一区二区精品网| 51精品秘密在线观看| 欧洲亚洲国产日韩| 色婷婷久久综合| 日本道色综合久久| 91丨九色丨蝌蚪富婆spa| 粉嫩嫩av羞羞动漫久久久| 国产精品996| 国产成人av一区二区| 91在线观看美女| 欧美精品日韩一区| 精品国产伦一区二区三区观看体验 | 欧美国产在线观看| 国产精品久久久久久一区二区三区| 中文字幕中文在线不卡住| 一区二区三区四区视频精品免费| 亚洲高清视频的网址| 久久se精品一区二区| 成人app软件下载大全免费| 欧美最猛性xxxxx直播| 91精品国产91久久久久久最新毛片| 精品国一区二区三区| 成人免费一区二区三区在线观看| 午夜影院久久久| 国产乱色国产精品免费视频| 91麻豆视频网站| 精品国精品自拍自在线| 中文字幕中文字幕在线一区| 日本欧美肥老太交大片| 懂色av一区二区三区免费观看| 91久久国产最好的精华液| 久久综合资源网| 亚洲高清在线视频| 国产久卡久卡久卡久卡视频精品| 色偷偷久久一区二区三区| 欧美本精品男人aⅴ天堂| 亚洲视频中文字幕| 久久99精品国产麻豆婷婷| 色噜噜狠狠成人网p站| 日韩午夜中文字幕| 亚洲黄色录像片| 国产传媒日韩欧美成人| 91精品国产91热久久久做人人| 中文字幕在线播放不卡一区| 日本aⅴ亚洲精品中文乱码| 97精品视频在线观看自产线路二| 欧美videofree性高清杂交| 国产精品高清亚洲| 狠狠色丁香婷婷综合| 欧美日韩在线三级| 国产精品美女久久久久久久| 久久国产三级精品| 欧美日韩的一区二区| 自拍偷在线精品自拍偷无码专区| 久久不见久久见免费视频7| 在线观看亚洲一区| 中文字幕一区视频| 国产激情一区二区三区| 日韩欧美三级在线| 亚洲777理论| 欧美性大战久久久| 中文无字幕一区二区三区| 国产在线不卡视频| 日韩免费视频一区| 日韩av网站免费在线| 欧美日韩精品一区视频| 亚洲人快播电影网| zzijzzij亚洲日本少妇熟睡| 国产欧美精品一区| 国产成人亚洲精品青草天美| 欧美精品一区二区三区在线 | 精品蜜桃在线看| 日本视频一区二区| 制服丝袜中文字幕亚洲| 亚洲一区二区黄色| 欧洲激情一区二区| 亚洲国产日韩精品| 欧美精品一二三| 婷婷六月综合亚洲| 91精品欧美综合在线观看最新| 亚洲国产精品久久久久秋霞影院| 欧洲av在线精品| 亚洲国产精品一区二区尤物区| 99r国产精品| 一区二区高清视频在线观看| 91浏览器打开| 一区二区三区日韩精品| 欧美日韩一区二区三区四区| 亚洲一二三四在线| 制服.丝袜.亚洲.另类.中文| 人人爽香蕉精品| 日韩一区二区不卡| 国产一区二区三区四区在线观看 | 亚洲一区二区三区四区五区中文| 色综合色狠狠天天综合色| 一区二区三区中文免费| 欧美日韩aaa| 免费成人深夜小野草| 26uuu欧美| 99热精品国产| 亚洲国产你懂的| 91精品国产综合久久福利| 久久成人免费电影| 国产精品久久久久三级| 欧美综合亚洲图片综合区| 日韩精品一级中文字幕精品视频免费观看 | 国产盗摄视频一区二区三区| 亚洲天堂av一区| 欧美日韩午夜在线| 国产一区不卡在线| 亚洲日本在线视频观看| 欧美顶级少妇做爰| 国产电影一区二区三区| 亚洲亚洲人成综合网络| 精品久久久久久久久久久久久久久久久 | 亚洲成人久久影院| 精品91自产拍在线观看一区| 懂色一区二区三区免费观看 | 韩国三级在线一区| 中文字幕一区二区三区不卡在线| 欧美午夜影院一区| 国产米奇在线777精品观看| 亚洲精品国产无天堂网2021| 欧美电视剧免费观看| 99久免费精品视频在线观看| 日韩av电影免费观看高清完整版| 久久九九全国免费| 欧美精品久久一区二区三区| 国产91精品露脸国语对白| 亚洲香肠在线观看| 亚洲国产精品二十页| 欧美一区二区视频在线观看2022| 成人激情小说网站| 美国精品在线观看| 亚洲精品国产高清久久伦理二区| 日韩欧美成人午夜| 日本精品一区二区三区高清| 国产一区二区三区四区五区入口| 亚洲bt欧美bt精品777| 国产精品日日摸夜夜摸av| 欧美一区二区三区播放老司机| 91久色porny | 一区二区三区日韩精品| 久久综合色综合88| 777xxx欧美| 91成人在线免费观看| 岛国一区二区三区| 极品美女销魂一区二区三区| 亚洲成精国产精品女| 亚洲人成网站精品片在线观看| 久久久不卡网国产精品一区|