我目前正在学习jQuery,刚开始实施"this"
关键字。我理解它在jQuery中的作用,但它在javascript中是否具有与作用域引用相同的功能?
答案 0 :(得分:3)
this
不是一些jQuery魔法,它是一个JavaScript关键字。
答案 1 :(得分:1)
是的,JavaScript中的this
关键字仍然表示当前范围内的元素。
答案 2 :(得分: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));
所以当你这样做$(this)
时,你只是创建了一个新的jQuery实例,其中包含this
引用的任何内容(通常是一个DOM元素),因此你可以继承原型并使用公共方法。 / p>