ホームページ  >  記事  >  ウェブフロントエンド  >  javascript_javascript スキルでのより効率的な文字列置換

javascript_javascript スキルでのより効率的な文字列置換

WBOY
WBOYオリジナル
2016-05-16 19:02:011002ブラウズ

まず、その方法を見てみましょう:

コードをコピーします コードは次のとおりです:

関数 toTXT (str){
str = str.replace(/&/g, "&");
str = str.replace(/>/g, ">" );
str = str.replace(/, "<");
str = str.replace(/"/g, "");
str = str. replace(/ '/g, "& #39;");
return str;
}
[/code
分析: 上記のメソッドは、フィルター文字列の HTML コードを置換するために使用されます。これは (データベース内の全文検索ではなく) 5 つの全文一致が必要なため、非常に非効率的だといつも思っていました。1 つの全文一致だけを使用して、異なる文字列を異なる結果に置き換える方法はありますか? >
ふふ、ついに次のメソッドを見つけました:

[code]
function toTXT(str){
var RexStr = /<|>|"|'| &/ g
str = str.replace(RexStr,
function(MatchStr){
switch(MatchStr){
case "<":
return "<";
case """:
return "& quo";
ブレーク ;
case "'":
return "'";
case "&" :
return "&";
ブレイク;


最初の方法よりも少し複雑で、記述するコードも少し必要になりますが、文字列全体の一致する文字を別の文字に置き換えるには 1 回だけ使用する必要があります。結果は非常に効率的です。また、コードは非常に直感的で、変更が簡単に見えます。

さらに重要なのは、最初の方法で "&" を置き換える場合は必ず先頭に配置する必要があり、以下の点ではこの問題を心配する必要はありません。

JavaScript にはあまり知られていない用途がたくさんあり、他の言語では見られないアイデアもたくさんあります。 JAVA がどれほど強力であっても、その正規表現は JDK 1.4 で導入されただけであり、大幅に遅れています。ただし、クラスの点で JAVA が JS よりも明らかに劣っているとは言いませんでした。

JS の適用範囲は HTML に限定されるものではなく、WebFT (Web サイトをテストするためのツール) や .NET など、他の多くの側面でも使用されており、今後リリースされます。伝説の「FLASHキラー」がもうすぐ登場 - ――WPF/E(Windows Presentation Foundation/Everywhere)の登場により、JSの適用範囲はさらに広がりました。

多くの人は、JS が非常に低レベルであり、基本的なオブジェクト型さえ持たないと考えて、JS を軽蔑します。いいえ、それは違います。.NET、つまり Jscript.Net では、Microsoft は JS のバージョンを 8.0 にアップグレードしました。基本的には C# と何ら変わりはなく、プログラミング言語に必要なものはすべて備えています。

冗談ですが、私は .net や ASP を書くときに Jscript を使用しますが、VB や C# について一般的に話す範疇には入りませんが、1 つの言語で書けるなら考えています。 , 彼の周辺プロジェクトも含めて、前に出ていくのはとても楽しいことでしょう。もう複数の言語を行き来する必要はありません。
WPF/E (Windows Presentation Foundation/Everywhere) の威力を見てみましょう:
2005 年の PDC カンファレンスで、Microsoft は WPF/E (Windows Presentation Foundation/ Everywhere) Everywhere) テクノロジーは、独自の MIX'06 カンファレンスで新機能を披露しました。 WPF/E は、XAML と JavaScript に依存して Web ページを作成し、クロスプラットフォーム ツールも付属しており、CLR、.NET、C#、VB.NET などのコードをサポートしています。本質的には、Flash に非常によく似たツールです。現在はアドビに所属。

Microsoft プログラマーの Mike Harsh はかつてこう言いました、「はい、私たちは C# を Mac に導入しています。」

それは「Flash キラー」とみなされていますが、Microsoft の目標はもっと大きく、ユーザーに使えるようにすることです。 Microsoft のソフトウェアとテクノロジは、デスクトップ システムだけでなく、Web やモバイル デバイスにも適用されます。

「本質的に、WPF/E はまったくコピーされたものではありません。開発者、デザイナー、技術者に包括的な開発および設計プラットフォームを提供します。」と開発者の Joe Stegman 氏は述べています。これは他の Microsoft 製品と統合できますが、これは Flash プラットフォームでは実現できません。Stegman 氏は、WPF/E の開発に熱心に取り組んでおり、いくつかの内部バージョンをリリースしており、ユーザー エクスペリエンス バージョンも間もなくリリースされる予定であると述べました。」

Flash は現在非常に人気がありますが、Microsoft の WPF/E が Flash を超えることはできないと考える人もいるかもしれませんが、何年も前の Netscape の Netscape を思い出してください...

画像はブラウザーでデモされていますベクター グラフィックス。グラフィックスを自由に拡大縮小したり回転したりできます

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。