【发布时间】:2011-04-26 18:21:16
【问题描述】:
我正在致力于在我正在开发的网络应用程序上实现 Javascript 模型。该模型的目的是简单地保存有关页面状态的信息。我遇到了两种不同的创建模型的实现,我想知道哪一个最好用。第一个实现:
var PageInfo = function () {
this._info = {};
};
PageInfo.prototype = {
getInfo: function () {
return this._info;
},
setInfo: function (updatedInfo) {
this._info = updatedInfo;
}
};
第二个实现:
var pageInfo = function () {
var info = {};
return {
getInfo: function () {
return info;
},
setInfo: function (updatedInfo) {
info = updatedInfo;
}
}
};
我的另一个问题是关于 setInfo() 函数。当我发现自己在更新模型时,我经常希望我刚刚更改的信息能够立即提供给我。这导致我这样编写 setter 函数:
setInfo: function(updatedInfo) {
info = updatedInfo;
return info;
}
我在代码中这样实现:
var info = pageInfo.setInfo(newInfo);
这样可以吗,还是我应该这样实现?:
pageInfo.setInfo(newInfo);
var info = pageInfo.getInfo();
只是尝试遵循最佳实践并避免使用错误实现可能出现的任何问题。
【问题讨论】:
标签: javascript model-view-controller