我有以下javascript对象,有点伪代码:
{
dateField: new Date(),
addMinutes:function(numMinutes)
{
CallWebService(numMinutes, function{alert(this.dateField; });
}
}
Run Code Online (Sandbox Code Playgroud)
问题是CallWebService中的回调函数的范围没有看到对象的dateField属性.有没有办法可以访问它?谢谢!
您需要保留函数的上下文(this值)addMinutes.
有几种方法可以实现它,最简单的方法是简单地存储this一个变量的引用,该变量将可用于回调函数的范围,例如:
var obj = {
dateField: new Date(),
addMinutes: function(numMinutes) {
var instance = this;
CallWebService(numMinutes, function () {
alert(instance.dateField);
});
}
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2950 次 |
| 最近记录: |