这与javascript中的原型

时间:2014-04-11 09:30:34

标签: javascript this

我只是JavaScript的初学者,我发现这个关键字对我来说真的很难理解。我知道this取决于函数的调用方式。

代码是。

MyClass = function() {
    this.element = $('#element');

    this.myValue = 'something';

    // some more code
}

MyClass.prototype.myfunc = function() {
    this.element.click(function() {

    });
}

new MyClass();

我只需要知道this

this.element.click(function() {}表示的内容

它是否表示Myclass?请帮助我理解JavaScript中原型函数中this关键字的使用。

1 个答案:

答案 0 :(得分:2)

  

我只需要知道this

this.element.click(function() {}表示的内容

最有可能的是,它是由new MyClass()表达式创建的对象。执行new MyClass()后,JavaScript引擎会创建一个新对象,将MyClass.prototype指定为对象的基础原型,然后调用MyClassthis指向新对象。它返回该对象作为表达式的结果:

var o = new MyClass();

此时,如果你这样做:

o.myfunc();

...然后在myfunc内,this将等于o

this在JavaScript中是一个很滑的概念,这就是为什么我说"最有可能"以上。更多(在我的博客上):