0

jquery や mootoolsなどの js ライブラリが Web ブラウザーや Web 開発に貢献してきたことの大きなメリットは、誰もが知っています。これらのライブラリは、すべての Web サイトのほとんどではないにしても、多くの Web サイトに含まれています。

ですから、現在のJavaScript エンジンのどれにも、JavaScript エンジン自体にこれらの機能が含まれていないのはなぜだろうと思っていました。これには、パフォーマンス、外部ロードの必要がないこと、標準化 (およびそれ自体の利点) など、さらに多くの利点があることは間違いありません。

これはおそらくウェブブラウザなどにのみ利益をもたらすことを認識していますが、ウェブブラウザ以外にも多くの用途があるに違いありませんが、議論のために、オプションのエンジン/ ECMASCriptの機能に組み込まれたそのようなエンジンを追加することができます-そして私はhere-コンポーネントという言葉を推測しています(オプションに重点を置いて)。これは、Webブラウザー内のエンジンでのみ有効化または追加できます。

誰かがこれを知っているか、これに関する詳細情報を持っていますか?

私の 2 番目の質問は次のとおりです。私たちコミュニティがこれを将来の大きな進歩であると判断した場合、どこでそのようなことを提案/質問できますか?また、これを実現するために他に何ができるでしょうか?

(何年も何十年も前の機能要求が無数のユーザーによって投票され、...まあ..これらのドットはあなた自身の想像に任せてください. だから私はコミュニティがこの願いを1つの場所だけに集中させ、おそらくこの2番目の質問への答えがそれの始まりであることを望んでいます?)

4

1 に答える 1

0

ECMAScriptは、記述しているこれらの高レベルのライブラリを構築するために必要な最小限の言語とサポートライブラリを標準化することのみを目的としています。また、jQueryのようなものは、ブラウザコードによって提供されるドキュメントオブジェクトモデルで機能します。これは、ECMAScript標準の一部でもありません。ECMAScriptは、「外部オブジェクト」の一般的なカテゴリのDOMノードについて知っているだけです。SpiderMonkeyエンジンは、JavaScript言語とその小さな標準ライブラリのみを実装し、それがより大きなFirefoxブラウザ環境に埋め込まれます。

それで、質問にもっと直接的に答えるために:JavaScriptエンジンにjQueryのようなユーザーレベルのライブラリの親密な知識(そしておそらく実装)を与えることは可能ですか?はい、あなたが言うように、あなたはブラウザの多くのコンポーネント化を壊しているでしょうが。誰かが実際にそれをしますか?JavaScriptエンジンは、jQueryなどの高レベルのライブラリを構築するために必要なもののコアを実装しているだけなので、おそらくそうではありません。誰もがJSエンジンの外に住んでいることに満足しています。また、JavaScriptの優れた特性は、必要に応じてライブラリをロードできることです。ソースは無料で入手できます。

実際、さらなる注意として、JSエンジンは、ECMAScript標準ライブラリコードをC ++実装の土地から「自己ホスト型ビルトイン」と呼ばれるものにプッシュするためにますます多くのことを行っています。これによりArray.indexOf、JavaScript自体に実装するような機能が可能になります(つまり、 、forループと比較を使用)。これにより、ネイティブC ++実装コードの呼び出しを特別に処理する代わりに、より多くのJavaScriptコードがJITコンパイラーを最適化する自然なプロセスにさらされます。

于 2012-08-30T20:36:38.377 に答える