javascript&中的“this”关键字jQuery的

时间:2013-03-29 21:44:48

标签: javascript jquery

我目前正在学习jQuery,刚开始实施"this"关键字。我理解它在jQuery中的作用,但它在javascript中是否具有与作用域引用相同的功能?

3 个答案:

答案 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>