Javascript:我是否需要为对象中的每个变量放置this.var?

Javascript:我是否需要为对象中的每个变量放置this.var?

在C ++中,我最熟悉的语言,通常是一个声明这样的对象:

class foo{public:
    int bar;
    int getBar() { return bar; }}

调用getBar()工作正常(忽略bar可能未初始化的事实)。内部的变量bargetBar()类的范围内foo,所以我不需要说,this->bar除非我真的需要说清楚我指的是' bar而不是比如参数。

现在,我正试图在Javascript中开始使用OOP。所以,我查找如何定义类并尝试相同的事情:

function foo(){
     this.bar = 0;
     this.getBar = function() { return bar; }}

它给了我bar is undefined。更改barthis.bar解决问题,但为每个变量执行此操作会使我的代码变得非常混乱。这对每个变量都是必要的吗?由于我找不到与此相关的任何问题,这让我觉得我做的事情从根本上是错误的。


编辑:是的,所以,从评论我得到的是,this.bar一个对象的属性,引用不同于bar局部变量的东西。有人可以说,为什么这就是范围和对象,以及是否有另一种方法来定义一个没有必要的对象?


RISEBY
浏览 488回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP