我应该从对象的实现中引用对象变量的名称吗?

Roy*_*mir -1 javascript this object-literal

(设置属性值)与以下内容之间是否有任何区别:

var obj = {
    getData: function ()
    {
        this.age = 34      //notice this
    }
}
obj.getData();
alert(obj.age) //34
Run Code Online (Sandbox Code Playgroud)

VS

var obj = {
    getData: function ()
    {
        obj.age = 34     //notice obj
    }
}
obj.getData();
alert(obj.age) //34
Run Code Online (Sandbox Code Playgroud)

我什么时候应该使用?

Aln*_*tak 6

前者是(恕我直言)强烈偏好,尽管两者都在这些有限的情况下"起作用".

只要有可能,对象就不应该通过声明中给出的名称来引用自己.

使用this确保如果为对象分配了另一个别名并obj重新使用,则该对象仍然正确引用自身.同样,如果您决定重命名obj- 您只需要更改一次.