跳到主要内容

你不是已登录。您的编辑将被放置在队列中,直到同行评审.

我们欢迎编辑,使文章更容易理解,对读者更有价值。由于社区成员审阅了编辑内容,请尝试使帖子比您发现的更好,例如,通过修改语法或添加其他资源和超链接。

JavaScript中的“this”是如何工作的?

我知道还有其他几个关于这个话题的帖子,但它们仍然让我感到困惑。

我已经包括了jQuery和所有内容,我有一个简单的javascript类,如下所示:

函数CarConstructor(){this.speed=19;//单位:mphthis.make=“福特”;this.fillKph=填充Kph;}函数fillKph(){$(“#kphdiv”).html(this.speed*1.61);}car1=新的CarConstructor();car1.填充Kph();

现在我知道这个代码片段不起作用,并且没有正确构建。

这里的“this”关键字引用了id为“kphdiv”的dom元素。

我的问题是处理这个问题的最佳方法是什么。

我见过一种方法,你将某个变量设置为这个值(绑定它),然后使用这个变量来引用你的对象。例如:

函数CarConstructor(){this.speed=19;//单位:mphthis.make=“福特”;this.fillKph=填充Kph;}函数fillKph(){var me=这个;$(“#kphdiv”).html(me.speed*1.61);}car1=新CarConstructor();car1.填充Kph();

我还可以使me成为全局变量。。。我不知道。

我只是好奇是否还有其他更好的方法。

答案

取消
4
  • 阿卡:是的,那是最好的方法吗? 评论 2009年7月29日2:54
  • 视情况而定,您还可以使用“prototype”方法定义fillKph函数。 评论 2009年7月29日3:07
  • 我总是这样做。对我来说,将函数作为引用对象的成员总是有意义的。
    – 雷齐夫
    评论 2009年7月29日3:10
  • 检查此答案,stackoverflow.com/questions/1007340/…,在这里我解释了为什么您可能不想永久存储“this”实例。 评论 2009年7月29日3:14