可能重复:
Javascript: Object Literal reference in own key’s function instead of ‘this’JavaScript对象字面量&“this”上下文?
我有这个简单的代码:
var myObj = {
init: function()
{
this.Name = "Royi";
this.BindMe();
}
BindMe: function()
{
$('myButton').on("click", this.Work);
},
Work: function()
{
var self = this; <--------
}
}
运行:
这是一个SIMP对象文字。 问题出在Work
方法上。我想让它知道this
(myObj
)
有2种方式做这件事的:
:
选项#1
在BindMe
,点击时,通过转移上下文$('myButton').on("click",{self:this}, this.Work);
and Work
do:
var self = e.data.self...
//也需要添加e
选项#2
写var self = myObj ;
问题
有没有做任何其他方式?
哪个更好/正确的方法?
是不是使用对象字面选项? –
@Bergi我已经看到了这个问题。它不提供答案。 (对我的具体问题)。 –
@AndrewWhitaker号我想在字面对象中学习这种行为。 –