如代码代示,js对象内访问,用 this 和 obj 都可以,但是在 对象方法内在 callback 里用 this 就会报未定义,但是用 obj.remove 就可以,求大神给指点一下,如何写比较好比较正确。
define(function() {
var obj = {
add: function(id) {
// 这里可以用 this
this.edit(id, function() {
// 这里报 this 未定义
this.remove(id);
// 如果用 obj.remove() 就可以
obj.remove(id);
});
// 也可以用 obj.edit()
// 哪种效率比较高呢?
// 或者是比较标准的正确写法呢?
},
edit: function(id) {
console.log('edit');
},
remove: function(id) {
console.log('remove');
}
};
return obj;
});