我有这个代码,它是我的用户类的一部分。当我调用这个函数时:
user = new User();
user.regUser("john", "john@doe.com", "john123", function() { });
我得到错误
Uncaught TypeError: Object #<Database> has no method 'writeDb'
用户类中的函数:
User.prototype.regUser = function(name, email, password, cb) {
this.db.exec("SELECT * from users WHERE user_email='"+email+"';", function(results) {
var len = results.rows.length;
if (typeof(cb) == 'function') {
if (len < 1) {
this.name = name;
this.email = email;
this.password = password;
this.writeDb();
cb(true); // username doesn't exists
} else {
cb(false); // username already exists
}
}
});
}
问题是否可能是在我的函数的嵌套函数中调用了“this”变量?因为在其他函数中没有嵌套时是有效的。我怎样才能解决这个问题?
- 小编辑:我已经写了 this.db.writeDb() 必须是 this.writeDb() 仍然得到错误。