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)
我什么时候应该使用?
前者是(恕我直言)强烈偏好,尽管两者都在这些有限的情况下"起作用".
只要有可能,对象就不应该通过声明中给出的名称来引用自己.
使用this确保如果为对象分配了另一个别名并obj重新使用,则该对象仍然正确引用自身.同样,如果您决定重命名obj- 您只需要更改一次.