该页面演示Storage API的使用,点击下方按钮开始演示

开始运行 请查看下面输出
>|
//------------------------------begin
jcollections.exports('Storage', 'HashMap');//导出Storage、HashMap类
console.log('该浏览器支持本地存储吗? ' + Storage.isSupported);//检查是否支持本地存储
Storage.turnSessionMode();//切换到sesson storage模式
Storage.saveItem('test', 'hello');//保存一个key=value
console.log('sesson模式test对应的值是:' + Storage.getItem('test'));//获取key为test的value
Storage.turnLocalMode();//切换到local storage模式
Storage.saveItem('test', 'hello');//保存一个key=value
console.log('local模式test对应的值是' + Storage.getItem('test'));//获取key为test的value
var store = new Storage();//创建一个Storage实例
store.defineToStore(function(value) {//定义外部结构到存储结构的转换规则
	return Storage.toJSON(value);
});
store.defineFromStore(function(json) {//定义存储结构到外部结构的转换规则
	return Storage.fromJSON(json);
});
$
var data = new HashMap();//新建一个数据模型
data.put('coder', {name:'jack', age:'30', salary:300});//添加key=value
data.put('guarder', {name:'tom', age:'40', salary:200});//添加key=value
data.put('cleaner', {name:'john', age:'45', salary:100});//添加key=value
store.saveItems(data);//存储数据模型
console.log('存在key为test的数据吗? ' + Storage.hasItem('test'));//查看是否存在key为test的数据
console.log('存在key为coder的数据吗? ' + Storage.hasItem('coder'));//查看是否存在key为coder的数据
$
//获取年龄大于30的数据(只会过滤coder、guarder、cleaner,test=hello会被忽略)
var resultMap = store.getItems(function(key, value) {//获取一个Map类型的数据集
	return Storage.fromJSON(value).age > 30;
});
var iter = resultMap.entrySet().iterator();//获取entry迭代器
while (iter.hasNext()) {//是否含有下一个entry
	var entry = iter.next();//迭代下一个entry
	var record = entry.getValue();//获取entry的value
	record.salary += 50;//重置entry的值
	console.log(entry.getKey() + '的工资现在是:' + record.salary);
}
store.saveItems(resultMap);//保存最新的数据
$
//删除name为jack的数据(只会过滤coder、guarder、cleaner,test=hello会被忽略)
Storage.delItems(function(key, stringValue) {
	return Storage.fromJSON(stringValue).name === 'jack';
});
console.log('coder还存在吗? ' + Storage.hasItem('coder'));//查看是否还存在coder数据
$
Storage.clear();//清空本地存储数据
console.log('test还存在吗? ' + Storage.hasItem('test'));//查看是否还存在test数据
console.log('guarder还存在吗? ' + Storage.hasItem('guarder'));//查看是否还存在guarder数据
console.log('cleaner还存在吗? ' + Storage.hasItem('cleaner'));//查看是否还存在cleaner数据
//------------------------------end