其实很多框架都会考虑数据存储相关的,有很多方式:有存节点上,也有存集合(某个对象等)上的,当然本地化存储的化也会用到cookie或者localStorage,或者userData
今天选择的角度还是最基本的-----集合。
我们构想:
- 创建一个{}
- get
- set
//创建集合
var _data = {};
//get
ZYC.get = function(key){
return _data[key];
};
//set
/*考虑富应用场景:
* set("key","value") *
* set({"key1":"value1","key2":"value2"}) *
*/
ZYC.set = function(key,value){
//判断
if(typeof key == "string"){
_data[key] = value;
}else{
//for去展开
for(var k in key){
if(key.hasOwnProperty(k)){
_data[k] = key[k];
}
}
}
}
完善一下api设计吧
(function(){
var ZYC = {};
...................
var _data = {};
/*
* 存储数据对象
* 获取 ZYC.data(key)
* 存储 ZYC.data(key,value) ZYC.data({key1:value1,key2:value2})
*/
ZYC.data = function(key,value){
var len = arguments.length;
if(len > 1){
_data[key] = value;
}else if(len == 1){
if(typeof key == 'object'){
for(var k in key){
if(key.hasOwnProperty(k)){
_data[k] = key[k];
}
}
}else{
return _data[key];
}
}
}
'ZYC' in window || (window.ZYC = ZYC);
})();
本文探讨了基于集合的数据存储API设计,包括基本的创建、获取和设置操作,以及如何适应不同数据类型和复杂场景。

被折叠的 条评论
为什么被折叠?



