Javascript中的Parse.Object子类
如果这是一个愚蠢的问题,请原谅,我已经做了一段时间的iphone和android,最近我需要为网络开发。 我正在使用parse.com处理我的服务器请求。根据他们的观点,我可以做这样的子类Javascript中的Parse.Object子类,java,javascript,constructor,parse-platform,Java,Javascript,Constructor,Parse Platform,如果这是一个愚蠢的问题,请原谅,我已经做了一段时间的iphone和android,最近我需要为网络开发。 我正在使用parse.com处理我的服务器请求。根据他们的观点,我可以做这样的子类 //A complex subclass of Parse.Object var Monster = Parse.Object.extend("Monster", { // Instance methods hasSuperHumanStrength: function () { return
//A complex subclass of Parse.Object
var Monster = Parse.Object.extend("Monster", {
// Instance methods
hasSuperHumanStrength: function () {
return this.get("strength") > 18;
},
// Instance properties go in an initialize method
initialize: function (attrs, options) {
this.sound = "Rawr"
}
}, {
// Class methods
spawn: function(strength) {
var monster = new Monster();
monster.set("strength", strength);
return monster;
}
});
var monster = Monster.spawn(200);
alert(monster.get('strength')); // Displays 200.
alert(monster.sound); // Displays Rawr.
最后,我尝试将以下代码从Java翻译成JS
/**
* @author XujieSong
*
*/
@ParseClassName("_User")
public class SHUser extends ParseUser {
/**
* SHUser is a subclass of ParseUser
* Class name _User
*/
/**
* Default constructor
*/
public SHUser() {
}
/**
* Create a SHUser object with known objectId
* This method only returns a SHUser without data
* @param userID the objectId of the SHUser
* @return user a reference to a SHUser
*/
public SHUser(String userId) {
this.setObjectId(userId);
}
/**
* Create a new SHUser with attributes
* @param userName
* @param password
* @param email
* @param displayName
* @param installation
* @param profileImage
* @return user a new user
*/
public SHUser(String userName, String password, String email, String displayName) {
this.setUsername(userName);
this.setPassword(password);
this.setEmail(email);
this.setDisplayName(displayName);
}
}
这就是我目前所得到的
var SHUser = Parse.Object.extend("_User", {
/**
* Instance properties go in an initialize method
* @param {userId}
* @return {[type]}
*/
SHUser: function () {
},
/**
* Instance properties go in an initialize method
* @param {userId}
* @return {[type]}
*/
SHUser: function (userId) {
this.id = userId;
},
/**
* Instance properties go in an initialize method
* @param {userName}
* @param {password}
* @param {email}
* @param {displayName}
* @return {[type]}
*/
SHUser: function (userName, password, email, displayName) {
this.setUsername(userName);
this.setPassword(password);
this.setEmail(email);
this.setDisplayName(displayName);
}
}, {
// Class methods
});
之后
var user = new SHUser(userId);
window.alert(Shelf.seller.id);
我没有定义
所以问题来了。有没有可能有一个默认的构造函数,然后像Java中那样有几个定制的构造函数?这样做是一种好的做法吗?谢谢。在深入挖掘Backbone.js之后,我找到了答案。 结果证明不需要任何额外的编码
var SHUser = Parse.Object.extend("_User", {
/**
* Instance properties go in an initialize method
*/
initialize: function (attr, options) {
},
}, {
// Class methods
});
它是一个backbone.js模型,所以在初始化时,只需传入参数就可以了
var seller = new SHUser({"id": sellerId});
就这样
有关更多信息,请参阅在深入挖掘Backbone.js之后,我找到了答案。 结果证明不需要任何额外的编码
var SHUser = Parse.Object.extend("_User", {
/**
* Instance properties go in an initialize method
*/
initialize: function (attr, options) {
},
}, {
// Class methods
});
它是一个backbone.js模型,所以在初始化时,只需传入参数就可以了
var seller = new SHUser({"id": sellerId});
就这样
有关更多信息,请参阅