我喜欢 jQuery 的方法链命令(.animate().css() 等)的能力,它在后端是通过返回特殊变量“this”来实现的。
如何实现类似的链接方法,而无需在对象内设置状态。举个例子:
that.getHospitalCoverDataStore().findBy('short_name').withValue('sam');
此方法链使用值“sam”查询数据存储“short_name”中的字段。我可以在调用第一个方法时将内部状态设置为“short_name”,然后在调用 withValue 时再次查找该状态。不过,这对我来说似乎是一个拼凑,首先,如果在 findBy 之前调用 withValue,我不能抛出错误,因为它将重用最后一个 findBy 设置。
如何更好地实现这一点?
最佳答案
您可以使 findBy
方法返回一个不同的对象,该对象封装数据存储区和字段名称,并且具有 withValue
方法:
function findBy(field) {
return {
dataStore: this,
field: field,
withValue: function(value) {
// query the dataStore and return result
}
};
}
关于javascript - 在 Javascript 中链接而不设置状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3748390/