javascriptのより効率的な文字列の置換

3178 ワード

まず最初にどうやって作ったのか見てみます.
 
  
function toTXT(str){ 
    str = str.replace(/\&/g, "& amp;"); 
    str = str.replace(/\>/g, "& gt;"); 
    str = str.replace(/\    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がどんなに強くても、彼の正規表現はJDK 1.4の中に導入されて、多くの遅れをとっています.でもJAVAは必ずJSより悪いと言っていません.
JSの応用範囲はHTMLだけではなく、他にも彼を使っています.たとえばWebFT(テストサイトのツール)、NETなど、これから発表されます.伝説の「FLASHキラー」――WPF/E(Windows) Presentation Foundation/Everywhereが現れたら、JSの応用範囲はもっと広いです.
多くの人はJSを軽蔑しています.彼は低級だと思います.基本的な対象のタイプさえありません.マイクロソフトはJSのバージョンを8.0にアップグレードしました.基本的に彼はC龚と何の違いもなく、すべてのプログラム言語を備えています.
ジョークを言って、私は书いて.netとASPはJscriptを使っていますが、VBとC咻は普通に话すタイプではありません.ただ、言叶を使って后から书くことができれば、彼の周辺プロジェクトを含めて、それはとても満足できると思います.これからは多言語で乗り換えることはないです.
WPF/E(Windows Presentation Foundation/Everywhere)の威力:
2005年のPDC大会で、マイクロソフトがWPF/Eという名前を紹介しました. Presentation Foundation/Everywhere)の技術は、自分のMIX'06会議でまた新しい特色を示しています.WPF/EはXAMLとJavaScriptに依存してウェブページを作っています.また、クロスプラットフォームツールを持っています.CLR、NET、C啣、VB.NETなどのコードをサポートしています.実質的には、Adobeに属しているFlashと似たツールです.
マイクロソフトのプログラマーマイク Harshはかつて言ったことがあります.「間違いないです.私達はC嗳をMacに持ち込みます.」
「Flashキラー」と思われていますが、マイクロソフトの目標はもっと大きいです.ユーザーはデスクトップシステムだけでなく、マイクロソフトのソフトウェアと技術を使って、同じようにネットワークとモバイル機器を占領します.
「実質的にはWPF/Eはそのままの作品ではなく、開発者、デザイナー、技術者に総合的な開発設計プラットフォームを提供しています.」開発者のJoeさん. Stegman氏は、「マイクロソフトの他の製品とうまく結合できる点は、Flashプラットフォームには及ばない」と述べた.Stegman氏は、WPF/Eの開発に努力しており、いくつかの内部バージョンが発行されており、ユーザー体験版はまもなく発売されるという.
今はFlashの風景が無限ですが、マイクロソフトのWPF/EはFlashを超えることができないという人がいるかもしれませんが、何年も前にネットスケープのNetscapeを考えてみます.
図は、ブラウザで表示されているベクトル図で、図を自由に拡大・回転することができます.