欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品

主頁 > 知識庫 > 瀏覽器中的正則表達式陷阱說明

瀏覽器中的正則表達式陷阱說明

熱門標簽:浙江營銷外呼系統有哪些 惠安地圖標注 淄博市張店區地圖標注 遼寧秒客來電話機器人 上海銷售電銷機器人軟件 地圖標注店鋪地圖標注酒店 自己做的電銷機器人 哈爾濱公司外呼系統代理 山東外呼系統聯系方式

在本章開始前 我要引入一個例子 來說明這種不徹底的 變態的優化 到底合理還是不合理...

c# 中的 字符串直接量 做的優化 就非常徹底...這種優化我們應該是歡迎的...

 string str="franky";

string str2="franky";

在內存中 只有一份 字符串對象 而str和str2 具備相同的一份引用. 很明顯 這非常合理.

string n = "franky",  n2 = "franky";
Response.Write((Object.ReferenceEquals(n,n2)).ToString());//True.

那么 一些特殊情況下  有些瀏覽器 為正則表達式直接量也做了類似的優化.

alert(/\d/==/\d/);//所有瀏覽器都是false 這很合理 因為正則表達式直接量 同 [] 數組直接量 {}對象直接量一樣 都是引用類型 

我們再看看哪些情況下哪些瀏覽器做了優化

    function f2() {
        return /\d/;
    }

       alert(f2() == f2());

//這里的結果就有不同了

ie6 7 8  opear10 safari4 都返回false  (我虛擬機里safari3壞了沒做測試.如果誰有 幫忙測下告訴我結果.謝謝 我估計safari3 會返回true.原因是 maxthon3用的引擎貌似就是safari3 的) 

但是

firefox 2.0 3.0+ 3.5 3.6  chrome 4 5 opear9  maxthon3 demo版  使用webkit引擎下 都返回true

有趣的地方在于 opera9 做了優化 而opera10 取消了這種優化. 看來至少opera團隊認為這種優化時不恰當的...(變相支持了我的觀點.)

 

看到這里 你也許會奇怪 是不是 bug而不是所謂優化啊? 也許是閉包對象 出了什么問題或者 是 函數對象上的某些bug引起的?

那么我們看看下面的例子:

for (var i = 0; i 10; i++) document.writeln(/\d/g.test('' + i));

不同瀏覽器 輸出結果的 差異 完全符合上面 是否做優化的分類.

即沒有 做優化的瀏覽器 一律返回true 而作了優化的瀏覽器 則是 true false true false 交替的結果.

我們這里只是一個 循環 ..js中的循環沒有獨立的作用域 更不會產生閉包對象 那么可以肯定 引起這個怪異問題的 根本原因就是某些瀏覽器自作聰明的優化.

可能大家不太理解 test的結果 差異來自哪里...  答案是 test 同 exec 一樣 如果 直接量后面有/g  .設置了 global全局查找參數 的話 那么 同一個test對象 會記錄上次 匹配字符的索引位置.下次再 匹配時 會從這個位置開始..如果沒有 則 匹配索引0 下次在此匹配時 就仍然從0位置字符開始.

所以上面這個測試 使用 exec 也是可以的.

那么 這里 如何避免瀏覽器差異呢? 簡單的辦法 去掉/g即可

這里我們為了躲避陷阱 就要 記得一個約定.  請盡量不要使用 一個正則直接量 在函數體內 或 循環內. 如果一定要如此 請使用new RegExp('\d',g);這種.

對于exec 盡量用 string.match代替. 因為match 強制你依靠是否有 /g 來全局查找..不會產生歧義.

對于test 如果是循環內 也可以考慮  var reg=/\d/; //這里要吧/g去掉..請不要忘記哦

for (var i = 0; i 10; i++) document.writeln(reg.test('' + i));

事實上這樣用是最合理的辦法 .原因是 這里我們只產生一個正則對象 并反復使用他.. 本質上也是為了優化。但是我們避開了 瀏覽器自己的優化差異 導致的不同結果.

最后我們發現 所謂陷阱 發生主要是 /g使用不當.無論是 exec 還是test都是如此  如果合理使用/g 無論瀏覽器是否存在變態的優化. 執行結果都將是正確的...唯一的區別 只在于 做了優化的瀏覽器 不需要反復產生一個 正則對象然后再垃圾回收 再產生一個正則對象....如此反復而已...

那么我們發現 遵守上面幾個原則的話 這種問題 也都避免了...

標簽:無錫 西安 長沙 重慶 泰州 銅川 宣城 綿陽

巨人網絡通訊聲明:本文標題《瀏覽器中的正則表達式陷阱說明》,本文關鍵詞  瀏覽器,中的,正則,表達式,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《瀏覽器中的正則表達式陷阱說明》相關的同類信息!
  • 本頁收集關于瀏覽器中的正則表達式陷阱說明的相關信息資訊供網民參考!
  • 推薦文章
    欧美阿v视频在线大全_亚洲欧美中文日韩V在线观看_www性欧美日韩欧美91_亚洲欧美日韩久久精品
  • <rt id="w000q"><acronym id="w000q"></acronym></rt>
  • <abbr id="w000q"></abbr>
    <rt id="w000q"></rt>
    丰腴饱满的极品熟妇| 欧美一区二区在线视频| 久久久不卡网国产精品二区| 日本系列欧美系列| 尤物网站在线观看| 3atv一区二区三区| 日韩精品一级中文字幕精品视频免费观看 | 欧美激情一区二区三区p站| 色久优优欧美色久优优| 中文字幕欧美一区| 白白色亚洲国产精品| 色综合咪咪久久| 亚洲乱码国产乱码精品精的特点| 99国内精品久久| 欧美丝袜第三区| 亚洲二区视频在线| 人妻丰满熟妇aⅴ无码| 人妻互换一区二区激情偷拍| 色婷婷亚洲综合| 女同久久另类69精品国产 | 国产成人久久精品77777最新版本| 97se亚洲国产综合在线| 日本二区在线观看| 欧美在线一区二区| 国产夜色精品一区二区av| 久久久久免费观看| 日本久久电影网| 亚洲精品综合在线| 美女搡bbb又爽又猛又黄www| 67194成人在线观看| 蜜臀精品一区二区三区在线观看| 中文字幕 自拍| 欧美高清在线一区| 99热精品国产| 91精品国产91久久综合桃花| 麻豆成人在线观看| 免费看特级毛片| 亚洲免费毛片网站| 日本一区二区在线免费观看| 久久日韩精品一区二区五区| 成人黄色国产精品网站大全在线免费观看 | 狠狠色狠狠色综合| 久久综合一区二区| 久久成人免费网| 性欧美videos| 亚洲福利视频导航| www.狠狠爱| 国产精品不卡一区二区三区| 91精品国产高清91久久久久久| 日韩三区在线观看| 风间由美性色一区二区三区| 精品1区2区3区| 精品制服美女久久| 色欧美日韩亚洲| 免费成人在线观看视频| 中文字幕在线2021| 日韩国产在线观看一区| www.av免费| 日韩激情一二三区| 一本色道久久综合亚洲91| 日韩精品一级二级 | 欧美欧美欧美欧美首页| 经典三级在线一区| 欧美影视一区二区三区| 久久精品99国产国产精| 91久久精品国产91性色tv| 蜜桃av一区二区三区电影| 9999热视频| 免费成人av在线播放| 色婷婷综合久久久中文一区二区 | 国产亚洲精品免费| 最新国产精品自拍| 国产精品女主播av| 三级网站在线免费观看| 亚洲精品国产品国语在线app| 在线观看日本中文字幕| 亚洲最新在线观看| 亚洲一级二级片| 免费观看在线综合| 欧美日韩精品一区二区三区四区 | 欧美电影免费观看高清完整版| 成人高清免费观看| 精品国产乱码久久久久久蜜臀| 国产黄色一区二区三区 | 国产亚洲综合在线| 完美搭档在线观看| 亚洲欧美日韩成人高清在线一区| 性欧美精品男男| 视频在线观看91| 欧美性猛交xxxx黑人交| 国产91精品久久久久久久网曝门| 日韩欧美精品在线| 制服丝袜在线第一页| 亚洲视频1区2区| 天堂а√在线中文在线鲁大师| 美女视频免费一区| 在线播放亚洲一区| 91蝌蚪porny| 国产精品盗摄一区二区三区| 山东少妇露脸刺激对白在线| 秋霞电影一区二区| 777奇米四色成人影色区| 91日韩在线专区| 1区2区3区欧美| 小嫩苞一区二区三区| 久久国产综合精品| 日韩欧美国产综合在线一区二区三区| 性高潮久久久久久| 亚洲美女在线一区| 一本一道综合狠狠老| 国产成人av影院| 国产欧美日韩综合精品一区二区| 亚洲最大成人网站| 日本 国产 欧美色综合| 91精品国产综合久久久久久| 久久久国产精品久久久| 玉足女爽爽91| 欧美性感一类影片在线播放| av高清不卡在线| 亚洲欧美日韩国产一区二区三区 | 国产又粗又猛又爽又黄91精品| 精品国产一区二区三区不卡| 中出视频在线观看| 欧美96一区二区免费视频| 日韩天堂在线观看| 亚洲综合色一区| 蜜臀av亚洲一区中文字幕| 欧美成人r级一区二区三区| 亚洲av无码成人精品国产| 日韩电影在线观看一区| 日韩欧美国产综合一区| 中文字幕免费高清| 国模套图日韩精品一区二区| 久久美女艺术照精彩视频福利播放| 熟女少妇内射日韩亚洲| 国产一区二区调教| 欧美激情艳妇裸体舞| 婷婷久久综合网| 99精品视频一区二区| 一区二区三区四区国产精品| 欧美日韩黄色影视| 中文字幕在线观看网址| 久久精品国产亚洲5555| 久久精品一区二区| 538精品在线视频| 91玉足脚交白嫩脚丫在线播放| 亚洲一区二区三区四区在线免费观看 | 成人永久aaa| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 色婷婷综合视频在线观看| 亚洲妇女无套内射精| 日日夜夜免费精品| 久久这里只有精品6| 久久高清内射无套| 91麻豆文化传媒在线观看| 亚洲aⅴ怡春院| 精品三级av在线| 99热这里只有精品4| 91社区在线播放| 日韩va欧美va亚洲va久久| 久久奇米777| 一本色道综合亚洲| 岛国精品资源网站| 国产一区免费电影| 亚洲女人****多毛耸耸8| 337p亚洲精品色噜噜| 国产又粗又硬视频| 99精品视频中文字幕| 日本在线不卡视频一二三区| 久久久99精品免费观看| 色久优优欧美色久优优| 丰满少妇一区二区三区| 国产福利一区二区三区视频在线| 亚洲精品免费在线| 精品久久久久香蕉网| 国产盗摄一区二区三区在线| 天天躁日日躁狠狠躁av| 国产精品一区二区在线观看不卡 | 亚洲一区二区三区四区av| 国产一区二区三区在线观看免费 | 国内精品免费**视频| 亚洲免费在线视频一区 二区| 日韩一区二区在线看| 日本在线一级片| 国产呦小j女精品视频| eeuss国产一区二区三区| 日韩av在线播放中文字幕| 中文字幕中文字幕一区二区| 欧美一级理论片| 色婷婷综合久久久中文一区二区| 三级网站在线免费观看| 久久精品无码一区二区三区毛片| 欧美三区在线视频| 精品国产sm最大网站免费看| 国产激情精品久久久第一区二区| 亚洲激情男女视频| 国产免费观看久久| 欧美一级二级三级乱码| 色噜噜狠狠一区二区三区果冻| 91成年人网站|