这是一个javascript原型

这是一个javascript原型,javascript,this,Javascript,This,我只是一个JavaScript初学者,我发现这个关键字对我来说真的很难理解。我知道这取决于函数的调用方式 代码是 MyClass = function() { this.element = $('#element'); this.myValue = 'something'; // some more code } MyClass.prototype.myfunc = function() { this.element.click(function() {

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

代码是

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
this.element.click(function(){}

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

var o = new MyClass();
此时,如果您这样做:

o.myfunc();
…然后在
myfunc
中,
将等于
o

这个
在JavaScript中是一个很难理解的概念,这就是我在上面说“最有可能”的原因。更多信息(在我的博客上):


Myclass
是一个构造函数。当您使用
new
从它创建一个新对象时,
引用该新对象。Brother没有更多的链接可引用,我无法正确获取其信息。:(您可以检查右侧(相关列)关于这个问题。使用调试器,设置断点并检查值将提供经验性的见解。对于这个理论,请阅读一本关于JavaScript的好书。因此,如果我调用var b=Myclass()…那么函数中的这个关键字将是b..对吗?@user3517846:不,您需要
new
中的
var b=new Myclass()
然后,
这个
将在调用中
b
,前提是您像这样调用
myfunc
b.myfunc();
收到了,谢谢..:D..:D..这只适用于原型的情况,对吗?