2012-03-29 15 views
1

可能性の重複:
Javascript: what's the point of RegExp.compile()?JavaScriptのregexp.compile()はどのように動作しますか?

のJavascriptはコンパイル方法は、正規表現のためにどのように機能するかを実際にその後、インタープリタ言語であると言われています。それは実際にパターンをコンパイルするのか、それとも単に表記を乱用するだけなのか。

+2

「コンパイル」という動詞だけでは、マシンコードを意味するものではありません。 –

+0

_ "RegExpメソッド:コンパイルメソッドは非推奨です。" _ – gdoron

+0

@James McLaughlin:答えを見つけようとしたとき、私はこの記事を見つけました。 http://www.w3schools.com/jsref/jsref_regexp_compile.asp 記事自体には 「このコンパイル()メソッドは、スクリプトの実行中に正規表現をコンパイルするために使用されます」と記載されています。 –

答えて

0

JavaScriptは翻訳された言語ですが、すべてのブラウザでJavascriptの処理方法が異なります。 例えば、Google Chromeは最初の実行時にJSコ​​ードをコンパイルするのに大変便利です。基盤となるV8エンジンtranslates JS into machine codeは、Gmailのような巨大なWebアプリケーションでパフォーマンスを向上させます。

したがって、Chromeは正規表現だけでなく、すべてのJSコードをコンパイルします。これは、表記の悪用と言えるかもしれません。

Mozillaのドキュメントでは、正規表現のFirefox uses compilationと言いますが、SpiderMonkey/TraceMonkeyはバイトコードを生成するJITコンパイラです。

Internet Explorerの処理方法に関する情報が見つかりませんでしたが、バージョン番号によっては少ししか想定していません。

本当に興味深いのは、なぜこの情報が必要なのかです。 Javascriptコードを最適化したい場合は、サポートしたいすべてのブラウザでさまざまなアプローチをベンチマークし、ベストプラクティスを使用して終了することをおすすめします。とにかくバージョンごとに異なる内部ブラウ​​ザ機能を理解しようとするよりも、それ以上にあなたを得るはずです。

関連する問題