这是我的问题:
var greatapp = {
start : function(){
$.AJAX({
url : 'foo.com',
success : function(data){
greatapp.say(data);
}
})
},
say : function(s){
console.log(s);
}
}
Run Code Online (Sandbox Code Playgroud)
我不喜欢这个例子的事实是我在success函数中通过定义对象的名称来重复我的自我,而this不是因为它在外部函数中而显然不起作用.
如何greatapp在JS对象中只有一次名称?
Ada*_*kis 10
一个常见的JavaScript成语是的值保存this到一个变量象me或self,并使用该回调.
这将起作用,因为回调可以访问在封闭范围内声明的变量 - 换句话说,回调将形成一个闭包 self
var greatapp = {
start : function(){
var self = this;
$.AJAX({
url : 'foo.com',
success : function(data){
self.say(data);
}
})
},
say : function(s){
console.log(s);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1917 次 |
| 最近记录: |