我正在对正在处理的Web应用程序实现Javascript模型。该模型的目的是简单地保存关于页面状态的信息。我已经遇到了两种不同的创建模型的实现,我想知道哪一个最适合使用。第一个实现:关于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();
只是试图遵循最佳做法,并避免使用错误的实现可能出现的任何问题。
我有一个关于在变量名中使用下划线(_)的问题。这只是一种文体选择? – 2011-04-26 18:48:10
是的,语言没有强制执行。如果我不得不猜测我会说它是受Python启发的。 – 2011-04-26 19:47:31