gpt4 book ai didi

javascript - 这在 javascript 中带有原型(prototype)

转载 作者:行者123 更新时间:2023-12-02 17:31:40 25 4
gpt4 key购买 nike

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

代码是。

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

this.myValue = 'something';

// some more code
}

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

});
}

new MyClass();

我只需要知道 thisthis.element.click(function() {} 中表示什么

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

最佳答案

I just need to know what this denotes in this.element.click(function() {}

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

var o = new MyClass();

此时,如果您这样做:

o.myfunc();

...那么在 myfunc 中,this 将等于 o

不过,

this 在 JavaScript 中是一个难以捉摸的概念,这就是我上面说“最有可能”的原因。更多(在我的博客上):

关于javascript - 这在 javascript 中带有原型(prototype),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23008721/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com