jQuery は広く使用され、成熟した共同作業であるため、より良い Javascript を作成するためのガイダンスとして、jQuery のソースを調べずにはいられません。私は常に jQuery ライブラリーを PHP アプリケーションと共に使用していますが、このかなり洗練されたライブラリーの内部を調べてみると、Javascript についてまだ理解していないことがどれだけあるかに気づきます。SO コミュニティにいくつか質問があります。まず、次のコードを検討してください...
$('#element').attr('alt', 'Ivan is SUPER hungry! lolz');
対
$('#element').attr({'alt': 'Ivan is an ugly monster! omfgz'});
さて、これはattr()
メソッドが属性名、属性名と値、またはペア値マップのいずれかを受け入れるように設計されているということでしょうか? マップが実際に何であるか、およびマップが Javascript の配列と異なる重要な点について簡単に説明してもらえますか?
先に進むと、図書館全体がこのビジネスに包まれています...
(function(window, undefined) { /* jQuery */ })(window);
ラップされた括弧が に似た動作を引き起こすことがわかりましたbody onLoad="function();"
が、このプラクティスは何と呼ばれ、onLoad
イベント ハンドラーを使用するのと何か違いはありますか? (window)
また、最後にあるビットの表も裏も作れません。window
ここにあるオブジェクトで正確に何が起こっているのでしょうか?
オブジェクトがJavascriptの関数と変わらないという評価は間違っていますか? これについて間違っている場合は修正してください$()
。すべてを網羅するjQueryオブジェクトですが、メソッドのように見えます。これは、コード例を含む別の簡単な質問です...
$('#element').attr('alt', 'Adopt a Phantom Cougar from Your Local ASPCA');
... 内部は次のようになっている必要があります (これについては間違っている可能性があります)...
function $(var element = null) {
if (element != null) {
function attr(var attribute = null, var value = null) {
/* stuff that does things */
}
}
}
これは、Javascript でオブジェクトとその子メソッドおよびプロパティを定義するための常套手段ですか? Javascript と PHP を比較すると、オブジェクトからメソッドを取得する.
のと同じようにピリオドを使用しますか?->
少し長くなってしまい申し訳ありませんが、これらの質問に答えることで、jQuery と Javascript 全般について多くのことを知ることができます。ありがとう!