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

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

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

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

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

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 無論瀏覽器是否存在變態的優化. 執行結果都將是正確的...唯一的區別 只在于 做了優化的瀏覽器 不需要反復產生一個 正則對象然后再垃圾回收 再產生一個正則對象....如此反復而已...

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

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

巨人網絡通訊聲明:本文標題《瀏覽器中的正則表達式陷阱說明》,本文關鍵詞  瀏覽器,中的,正則,表達式,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《瀏覽器中的正則表達式陷阱說明》相關的同類信息!
  • 本頁收集關于瀏覽器中的正則表達式陷阱說明的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    色噜噜久久综合| 国产高清不卡一区二区| 亚洲欧美乱综合| 日本一区二区成人在线| 日韩精品一区二区三区在线播放| 在线观看不卡一区| 91视频观看视频| 一本到一区二区三区| 9人人澡人人爽人人精品| 国产成人日日夜夜| 99国产精品国产精品毛片| 成人av影视在线观看| 成人av在线网| 91久久一区二区| 欧美伊人久久大香线蕉综合69| 91免费看`日韩一区二区| 91高清在线观看| 欧美中文字幕一区| 8v天堂国产在线一区二区| 91精品国产综合久久久久久久久久 | 欧美一级久久久久久久大片| 26uuu精品一区二区在线观看| 欧美喷潮久久久xxxxx| 欧美精品1区2区| 久久人人爽爽爽人久久久| 国产精品视频一二三| 亚洲品质自拍视频| 日韩电影在线观看网站| 激情五月婷婷综合| av资源站一区| 欧美精品丝袜中出| 日韩欧美激情四射| 欧美乱熟臀69xxxxxx| 欧美一区二区在线播放| 日韩一级黄色片| 欧美激情一区二区三区全黄| 亚洲国产精品欧美一二99| 老司机精品视频导航| 99热这里都是精品| 欧美一级黄色录像| 国产精品久久久久久久久图文区| 夜夜嗨av一区二区三区中文字幕| 韩日欧美一区二区三区| 色婷婷亚洲一区二区三区| 欧美精品黑人性xxxx| 久久久久久免费毛片精品| 亚洲精品国产无天堂网2021| 久久精品国产第一区二区三区| 成人午夜精品在线| 欧美一区二区国产| 亚洲免费伊人电影| 国产盗摄视频一区二区三区| 欧美精品免费视频| 亚洲精品高清视频在线观看| 国产精品自产自拍| 欧美一区二区在线播放| 一卡二卡三卡日韩欧美| av资源站一区| 国产亚洲成aⅴ人片在线观看 | 亚洲色图20p| 激情丁香综合五月| 欧美精品粉嫩高潮一区二区| 亚洲欧美国产77777| 成人午夜精品在线| 国产精品日韩成人| 国产精品一卡二| 精品久久免费看| 奇米亚洲午夜久久精品| 欧美午夜精品电影| 亚洲精品中文字幕在线观看| av在线这里只有精品| 综合久久久久综合| 91麻豆免费视频| 国产精品对白交换视频| 成人三级在线视频| 国产日韩欧美一区二区三区乱码| 捆绑变态av一区二区三区| 欧美一区二区三区视频在线观看| 亚州成人在线电影| 日韩视频一区二区| 久久国产精品72免费观看| 26uuu亚洲| 成人性色生活片免费看爆迷你毛片| 国产精品萝li| 亚洲欧美另类小说| 亚洲激情自拍偷拍| 欧美tk丨vk视频| 日韩精品一区二区三区在线播放 | 精品精品欲导航| 国产午夜亚洲精品午夜鲁丝片| 一区二区三区中文免费| 欧美在线免费视屏| 亚洲一区二区三区不卡国产欧美| 91成人免费网站| 午夜av一区二区三区| 欧美一二三区在线观看| 国产精品综合一区二区三区| 日本一区二区三区在线不卡| 99国产精品久久久| 天天做天天摸天天爽国产一区 | 欧洲中文字幕精品| 国产精品一区二区久久不卡| 国产日产精品一区| 欧美亚洲综合色| 免费看黄色91| 国产精品视频线看| 在线影院国内精品| 麻豆精品精品国产自在97香蕉| 久久久亚洲精品石原莉奈| www.99精品| 毛片不卡一区二区| 国产精品久久一级| 制服丝袜日韩国产| 波多野结衣欧美| 首页亚洲欧美制服丝腿| 国产精品三级电影| 欧美电影一区二区三区| 成年人国产精品| 视频一区欧美精品| 国产精品色噜噜| 精品美女在线播放| 在线观看日韩毛片| 国产精品一区二区男女羞羞无遮挡| 亚洲一区二区三区视频在线 | av电影一区二区| 三级在线观看一区二区 | 偷拍亚洲欧洲综合| 亚洲欧洲一区二区三区| 欧美大尺度电影在线| 99久久99久久久精品齐齐| 精品一区二区三区免费| 亚洲免费观看在线视频| 久久影院午夜论| 91精品国产美女浴室洗澡无遮挡| 白白色亚洲国产精品| 久久精品国产亚洲a| 亚洲精品成人精品456| 中文字幕av一区 二区| 欧美一卡二卡三卡四卡| 欧美日韩久久一区二区| 一本到高清视频免费精品| 不卡视频在线看| 国产成人一级电影| 精品亚洲国产成人av制服丝袜 | 久久精品久久综合| 国产在线看一区| 日韩久久久久久| 久久66热re国产| 亚洲精品乱码久久久久| 91精品婷婷国产综合久久性色 | 亚洲福利视频一区二区| 日本高清不卡一区| 久久国产尿小便嘘嘘尿| 欧美激情自拍偷拍| 欧美久久久一区| 国产精品初高中害羞小美女文| 精品国一区二区三区| 精品国产成人系列| 精品国产乱码久久久久久免费| 欧美一区二区视频在线观看2020| 欧日韩精品视频| 欧美日韩亚洲综合一区二区三区| 色综合天天性综合| 在线观看亚洲精品| 欧美日韩一区三区四区| 91麻豆精品国产91久久久久久| 欧美区在线观看| 91麻豆精品国产91久久久资源速度| 欧美日韩国产在线播放网站| 欧美精品tushy高清| 欧美一级xxx| 国产日本欧洲亚洲| 亚洲色图制服诱惑| 性久久久久久久久久久久| 日韩va欧美va亚洲va久久| 国产激情视频一区二区三区欧美 | 三级亚洲高清视频| 激情深爱一区二区| av网站一区二区三区| 在线亚洲一区观看| 日韩一级片网址| 久久精品人人爽人人爽| 亚洲欧美日韩人成在线播放| 亚洲夂夂婷婷色拍ww47 | 亚洲综合小说图片| 久久av资源站| 一本色道亚洲精品aⅴ| 欧美一区二区三区男人的天堂| 久久久久久久久97黄色工厂| 亚洲人成小说网站色在线| 天天操天天干天天综合网| 国产一区二区导航在线播放| 91麻豆国产精品久久| www久久精品| 亚洲国产视频直播| 国产高清不卡一区| 91精品国产综合久久久久久| 国产精品色一区二区三区| 日韩国产精品久久| 色综合天天综合色综合av|