私は現在jQueryを学んでいて、"this"
キーワードの実装を始めたばかりです。jQuery での動作は理解していますが、スコープ参照として、javascript で同じ機能を持っていますか?
質問する
169 次
3 に答える
3
this
は jQuery の魔法ではなく、JavaScript のキーワードです。
于 2013-03-29T21:46:04.683 に答える
1
はい、this
JavaScript のキーワードは現在のスコープ内の要素を意味します。
于 2013-03-29T21:56:09.330 に答える
0
簡単な説明:this
関数の呼び出し方法に応じて変化する関数のコンテキストです。例えば:
function myfunc() {
console.log(this.toString());
}
myfunc(); //=> [object Window]
myfunc.call('Hello World'); //=> Hello World
プロトタイプを使用する場合this
は、現在のインスタンスを参照します。jQuery では、次のように機能します (非常に単純化されています)。
(function(win) {
// Constructor
function jQuery(selector) {
}
// Shortcut to create news instances
function $(selector) {
return new jQuery(selector);
}
// Public methods
jQuery.prototype = {
// All methods 'return this' to allow chaining
// 'this' is the jQuery instance
method: function() {
return this;
}
};
win.$ = $; // expose to user
}(window));
したがって、これを行うと、参照するもの (通常は DOM 要素)$(this)
の新しい jQuery インスタンスを作成するだけなので、プロトタイプを継承してパブリック メソッドを使用できます。this
于 2013-03-29T21:57:32.280 に答える