Jquery の欠陥のまとめ_jquery

WBOY
リリース: 2016-05-16 18:10:29
オリジナル
1088 人が閲覧しました

はい、jquery はセレクター、チェーンの使用法、gsetter の使用法、多くの簡素化された名前付けなどをうまく検討し、フロントエンドを簡単かつシンプルにし、Web 開発に多大な貢献をしました。
しかし、不満な点もいくつかあります。

1.コードの塊の1つについて。

jquery は個人の英雄主義の産物であると常々感じていますが、彼のコードを読む忍耐力のある人の数は間違いなく 1% 未満です。
シズルが独立した後、msはいくつかの変化を遂げました。
しかし、異なるスタイルと相互に関連するスタイルは、依然としてシズルと jquery のいたるところに存在します。
時々、私はこう思います。もしジョンがコードを書くのをやめたら、誰がこれらの混乱を喜んで引き受けるでしょう。

2.コードトゥオその2について。

コンポーネント開発者の中で「jqueryに依存せずに単体で動作するコンポーネントをjqueryに依存して開発する」ことを考えたことがある人はいるだろうか?
これは奇妙な要件ですか? ----そうではないようです。
そのような必要はありますか? ----多くの学生はこう言います。「JQuery には深い根があり、信頼できるのに、なぜ独立して実行する必要があるのですか?
また、コンポーネント開発者のレベルは一般的にかなり高く、解決方法を見つけるでしょう。」これらの問題。そのような必要がある場合は、対応するメソッド ライブラリを見つけます。
しかし、これは jquery がこれらの人々のニーズを満たすことができないことも示しています。
jquery は単なるコードの混乱だからです。これを静的メソッド ライブラリに分割することはほとんど不可能です。

3. 「ドム重視」について。

「はい」と言うべきか、「はい」と言うべきかわかりません。
jQuery のチームは、「DOM 中心」ではなく、包括的なフレームワークを構築する能力を確実に備えていると感じています。
jquery および jquery コンポーネントを使用する場合、非同期ロードなどのためにシード ファイルを自分で見つける必要がある場合があります。
これらのシード要件は実際には dom と密接に関連していないため、jquery はそれを完全に無視できます。非常に怠惰です。
また、torrent ファイルに関しては、YUI3 をコアポイントとして使用するのは良いアイデアですが、行き過ぎているのが残念です。 YUI3 に到着した後、そのセレクターのみをパフォーマンス比較に使用したいと考えましたが、そのためにはプッシュ ファイルをロードする必要がありました。

4. 「ドム重視」その2について。
「jquery は dom に重点を置いています」、
文字列のトリムは jquery で行う必要がありますか? ----それは必要ないようです。しかし、jquery はそれを便利に提供します。同様のものには、parseJSON、globalEval などがあります。
文字列テンプレート関数 (tmpl) についてはどうですか? ----テンプレートは明らかに文字列に基づいている必要があります。文字列テンプレートは HTML 文字を整理するためによく使用されるため、jquery は文字列を強制的に挿入します。そしてそれはDOMに基づいています。 ----本当に言いたいのですが、それは本当に突飛です。
私たちのプロジェクトでは、多くの文字列関連関数 (trim|subByte|encode4Hhtml など)、オブジェクト関連関数 (get|dump|mix など)、および配列関連関数 (forEach | encode4Hhtml など) を使用することもあります。地図)など。
Jquery にはこれらの問題の解決を支援するつもりはありません。では、他の人に解決を依頼する必要がありますか、それとも自分で解決する必要がありますか?

5.シズルについて。
A: シズルは中途半端な製品であり、簡単に提供できたはずの機能が提供されていないと感じることがあります。
例:
selector2filter(selector) //セレクターをフィルター関数に変換します。
filter(els,selector,refEl) //ref を参照要素として使用し、セレクターの条件に従って els をフィルターします。たとえば、委任するときに使用されます。 sizzle が提供されていないため、$('#id').delegate('>li','click',handle) の '>li' の参照要素は #id
B に対応するオブジェクトではありません: sizzle 次の 2 つの問題を解決するには、筋肉を壊す必要があるかもしれません。

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

  • 詳細 1.1
  • 詳細 1.2
    • ;詳細 2.1
    • 詳細 2.2

    <script> <br>alert($('#head1~ul>li').length) ;/ / は 0 ではなく 4 である必要があります。 sizzle は候補セットを選択するときに怠惰で、候補セットの問題に真剣に対処しなかったため <br><br> </div> <br><div class="codetitle"> コードをコピー<span><a style="CURSOR: pointer" data="15120" class="copybut" id="copybut15120" onclick="doCopy('code15120')"><u> コードは次のとおりです:</u><div class="codebody" id="code15120"> <br><ul> <br><li> <br><div> <br><div> /div> <br></div> <br></li> <br><li> <br><h1> <br><div> <br><span>Unnecessary </span> <br></div> <br></h1> <br></li> <br></ul> <br><script> <br>alert($ ('li>div span').length); //should be 1, not 0. Because sizzle was lazy during filtering and ignored the backtracking. <br></script>


    C: A little thought, Sizzle has a lot of code. After YUI, there are as many as 13K, and excluding the few additional abbreviations he added, there are still more than 11K.


6. . . .
I’m tired, let’s talk about it later.
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート