一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

javascript之更有效率的字符串替換

首先看看原來是怎么樣做的:
復制代碼 代碼如下:
function toTXT(str){ 
    str = str.replace(//&/g, "& amp;"); 
    str = str.replace(//>/g, "& gt;"); 
    str = str.replace(//</g, "& lt;"); 
    str = str.replace(//"/g, "& quot;"); 
    str = str.replace(//'/g, "& #39;"); 
    return str; 

[/code
分析:上面的方法是用來替換過濾字符串的HTML代碼的,一直認為這樣做很沒效率,因為要把這個字符串進行5次全文匹配(不是數據庫中的全文檢索),有沒方法只使用一次全文匹配,就可以替換掉不同的字符串為不同的結果呢?

呵呵,終于找到了下面的這個方法:

[code]
function toTXT(str){ 
    var RexStr = //<|/>|/"|/'|/&/g 
    str = str.replace(RexStr, 
        function(MatchStr){ 
            switch(MatchStr){ 
                case "<": 
                    return "& lt;"; 
                    break; 
                case ">": 
                    return "& gt;"; 
                    break; 
                case "/"": 
                    return "& quot;"; 
                    break; 
                case "'": 
                    return "& #39;"; 
                    break; 
                case "&": 
                    return "& amp;"; 
                    break; 
                default : 
                    break; 
            } 
        } 
    ) 
    return str; 




看上去要比第一個方法要復雜一些,寫的代碼也要多一點點,不過呢,只用一次,就可以替換整個字符串里面的匹配字符為不同的結果,非常有效率的。而且代碼看上去也很直觀,修改方便。

更重要的是第一個方法假如要替換"&"一定要放在最前面,而后面的方面完全不用擔心這個問題。

JavaScript還有很多鮮為人知的用法,而且很多思想在別的語言里面都沒有。就算Java再怎么強大,他的正則表達式卻在JDK1.4里面才引入,落后了很多。不過我沒說Java就一定比JS差只類的話啊。

JS的應用范圍絕對不止HTML,還有很多其他的方面都在使用他,比如WebFT(測試網站的工具),.NET等,并且在即將發布,傳說中“FLASH殺手”――WPF/E(Windows Presentation Foundation/Everywhere)出現后,JS的應用范圍更加寬廣。

很多人都不屑于JS,認為他很低級,連基本的對象類型都沒有。NO,錯了,在.NET里面,也就是Jscript.NET中,微軟將JS的版本提升為8.0,基本上他已經與C#沒有任何差別,所有程序語言該有的他都具備了。

說一個笑話,我寫.NETASP就用的Jscript,但是VB和C#我也并不是屬于那種泛泛而談的類型,只是我覺得假如可以用一門語言從后寫到前,包括他的周邊項目,那將是一件非常愜意的事情。從此再也不會在多種語言中轉來轉去了。
來看看WPF/E(Windows Presentation Foundation/Everywhere)的威力:
2005年的PDC大會上,微軟介紹了一項名為WPF/E(Windows Presentation Foundation/Everywhere)的技術,在自己的MIX'06會議上又展示了新的特色。WPF/E依賴XAML和JavaScript來制作網頁,它也帶有跨平臺工具,支持CLR、.NET、C#、VB.NET等的代碼,實質上,它是一個與目前屬于Adobe的Flash很類似的工具。

微軟的程序員Mike Harsh曾經說過:“沒錯,我們正將C#帶入Mac.”

雖然被大家認為是“Flash殺手”,不過微軟的目標更遠大一點:讓用戶不僅在桌面系統上使用微軟的軟件和技術,他們同樣要占領網絡移動設備。

“實質上,WPF/E根本不是一個照搬的作品,它為開發者、設計師、技術員提供了一個綜合性的開發設計平臺。”開發者Joe Stegman說,“它能良好地與微軟的其他產品結合,這一點是Flash平臺望塵莫及的。”Stegman表示他們一直在很努力地進行WPF/E開發工作,已經發行了好幾個內部版本,用戶體驗版在不久之后也會放出。

雖然現在Flash風光無限,有人可能認為微軟的WPF/E沒法超越Flash,不過想想多年以前網景的NETscape……

圖為在瀏覽器中演示的矢量圖形,可以隨意對圖形進行縮放、旋轉

JavaScript技術javascript之更有效率的字符串替換,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲日本中文字幕在线2022 | 国产91麻豆精品 | 一本色道久久综合 | 欧美亚洲激情 | 国产高清自拍一区 | 亚洲精品在线播放视频 | 久久老司机波多野结衣 | 成人午夜视频在线播放 | 中文字幕123| 色呦呦视频在线观看 | 欧美经典成人在观看线视频 | 五月婷婷丁香在线视频 | 中文字幕美日韩在线高清 | 国产一区二区三区波多野吉衣 | 91亚洲精品 | 欧美亚洲国产精品 | 97青青草原国产免费观看 | 国产在线干 | 亚洲第一二三四区 | 女人与拘一级毛片 | 玖玖在线免费视频 | 久久免费区一区二区三波多野 | 激情小视频在线 | 美女精品一区二区 | 成人毛片18女人毛片免费 | 日韩视频一区二区 | 欧美日韩加勒比一区二区三区 | 亚洲产国偷v产偷v自拍涩爱 | 五月婷婷之婷婷 | 久久免费视频一区 | 亚洲一区二区三区中文字幕5566 | 国产狂喷冒白浆免费视频 | 国产91一区二区在线播放不卡 | 桃花视频在线观看高清版mv | 国内精品久久久久久久星辰影视 | 最新精品国产 | 久久8| 91福利免费体验区观看区 | 色在线播放 | 国产精品麻豆视频 | 国产高清精品久久久久久久 |