如代码代示,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;
});
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.