javascript - 除了变量定义之外,javascript 中是否需要 "this"

标签 javascript this scope javascript-objects

我的问题很简单。

我只是偶然发现,一旦你用 this. 定义了一个属性到一个对象中,你就不需要在前面加上 this. 了,当你想调用他们。

所以 this. 真的是用来定义广告的,比如 var?

我很快就找到了它,我用它引用了窗口对象。因为我没有使用 new 调用我的对象,所以它就像一个函数。

一个额外的问题,也许是为了评论。在主对象中,如果我创建一个新对象,并在对象定义期间使用 this,this this 将指代什么?

最佳答案

不可以,除非this 的上下文是一个global 对象,例如window。举个例子:

function Foo(bar) {
    this.data = bar;
    console.log(this.data); // OK
    console.log(data); // ReferenceError
}

在此示例中,您将在第一个 console.log(data) 上得到一个 ReferenceError: data is not defined除非 , data 是一个全局变量。要访问实例的公共(public)成员,您必须使用this.data

引用资料:

关于javascript - 除了变量定义之外,javascript 中是否需要 "this",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12232402/

相关文章:

IOS Objective-C 选择器使用了错误的范围

javascript - 如何在azure blob存储中添加授权 header ?

javascript - JQuery 附加到元素 - 更好的技术?

javascript - 一键增减div高度

javascript - 为什么将 $(this) 分配给 var

C++ 在范围结束前删除函数指针

javascript - YouTube API - Firefox/IE 为任何 "X is not a function"请求返回错误 'player.'

javascript - 如何为div的全高设置动画?

javascript - 'var that = this;' 在 JavaScript 中是什么意思?

javascript - 我对 JavaScript 中的关键字 'this' 感到困惑