本地存储

WebStorage详解
本文介绍了WebStorage的概念及其组成部分sessionStorage和localStorage的区别与用法。详细解释了这两种存储方式的特点,包括它们如何存储数据、数据的生命周期以及提供的API方法。

      随着WEB应用的快速发展,本地存储一些数据也成为一种重要的需求,实现的方案也有很多,最普通的就是cookie了,但是cookie的缺点是显而易见的,可能被用户禁用,在IE7+和firefox上,每个域最多只能保存50个Cookie,每个Cookie大小不超过4KB(有兴趣可以去浏览笔者博客“浅谈Cookie”);因此,Web Storage就显得更加实用。

sessionStorage与localStorage

     Web Storage实际上由两部分组成:sessionStorage与localStorage。

sessionStorage用于本地存储一个会话(session)中的数据,这些数据只有在同一个会话中的页面才能访问并且当会话结束后数据也随之销毁。因此sessionStorage不是一种持久化的本地存储,仅仅是会话级别的存储。

      localStorage用于持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。

      存储数据的方法就是直接给window.localStorage添加一个属性,例如:window.localStorage.a 或者 window.localStorage["a"]。

localStorage.num=5;设置num为“5”;
localStorage["str"]="happy";设置str为“happy”;

确定浏览器支持localStorage后,我们就可以使用它的接口了,localStorage的使用方法很简单,在chrome的控制台里面打印一下localStorage,就能列出它的全部方法,我相信很多人一看就能明白了。

我们主要用到的

    length:本地存储数据的个数;

    setItem(key,value):向key字段写入value数据;

    getItem(key):去key字段的数据;

    removeItem(key):移除key字段;

    clear():清空该域下的所有数据;

    key(i):获取第i个数据的key;

    需要注意的是,HTML5本地存储只能存字符串,任何格式存储的时候都会被自动转为字符串,所以在存和读取的时候,需要自己进行类型的转换,最常用的是调用JSON.stringify()将其转为字符串,调用JSON.parse()将字符串转为json格式,如下:

var current_item={sort: "饮料",name: "可口可乐", price: "3", unit: "瓶",count:0};  
localStorage.setItem("user",JSON.stringify(current_item)); //往本地存 current_item这个对象  
var cartInfo=JSON.parse(localStorage.getItem("user"));//从本地取出 current_item这个对象 

   以上就是,笔者对本地存储的一些简单理解,仅供参考。

提供了基于BP(Back Propagation)神经网络结合PID(比例-积分-微分)控制策略的Simulink仿真模型。该模型旨在实现对杨艺所著论文《基于S函数的BP神经网络PID控制器及Simulink仿真》中的理论进行实践验证。在Matlab 2016b环境下开发,经过测试,确保能够正常运行,适合学习和研究神经网络在控制系统中的应用。 特点 集成BP神经网络:模型中集成了BP神经网络用于提升PID控制器的性能,使之能更好地适应复杂控制环境。 PID控制优化:利用神经网络的自学习能力,对传统的PID控制算法进行了智能调整,提高控制精度和稳定性。 S函数应用:展示了如何在Simulink中通过S函数嵌入MATLAB代码,实现BP神经网络的定制化逻辑。 兼容性说明:虽然开发于Matlab 2016b,但理论上兼容后续版本,可能会需要调整少量配置以适配不同版本的Matlab。 使用指南 环境要求:确保你的电脑上安装有Matlab 2016b或更高版本。 模型加载: 下载本仓库到本地。 在Matlab中打开.slx文件。 运行仿真: 调整模型参数前,请先熟悉各模块功能和输入输出设置。 运行整个模型,观察控制效果。 参数调整: 用户可以自由调节神经网络的层数、节点数以及PID控制器的参数,探索不同的控制性能。 学习和修改: 通过阅读模型中的注释和查阅相关文献,加深对BP神经网络与PID控制结合的理解。 如需修改S函数内的MATLAB代码,建议有一定的MATLAB编程基础。
### 本地存储技术的概念与实现 #### 什么是本地存储本地存储是一种允许Web应用程序在用户的设备上保存数据的技术。它提供了比传统Cookie更强大、灵活的功能,能够持久化存储大量数据而不影响页面性能[^1]。 #### 主要的本地存储方式 目前主流的前端框架和技术栈支持多种本地存储方案,其中包括但不限于: - **LocalStorage**: 提供了一种简单的键值对存储机制,适合长期存储少量数据。它的特点是即使浏览器关闭后仍然保留数据,直到手动清除为止。 - **SessionStorage**: 类似于LocalStorage,但它仅限于当前会话期间有效;一旦窗口或标签页被关闭,则该存储中的数据会被销毁。 - **IndexedDB**: 是一种更为复杂的客户端数据库解决方案,适用于需要处理更大规模结构化数据的应用场景。 对于UniApp开发环境而言,主要依赖`localStorage`以及其封装后的API来完成基本的数据操作需求[^1]。 #### 实现数据存储的方法 以下是基于JavaScript语法,在UniApp项目里利用LocalStorage进行简单数据写入读取的例子: ```javascript // 存储单条记录到 localStorage 中 function saveData(key, value){ uni.setStorageSync(key,value); } // 获取指定 key 对应的内容 function getData(key){ return uni.getStorageSync(key); } ``` 上述代码片段展示了如何定义两个函数分别用于向LocalStorage添加新项(`saveData`) 和检索已存在的项 (`getData`) 。这里采用了同步版本的操作接口 `setStorageSync()` 及 `getStorageSync()`, 它们可以直接返回结果而无需等待回调执行完毕[^1]. 需要注意的是,尽管这些方法非常方便易用,但由于它们存在一定的局限性——比如容量上限较低(通常为5MB),所以当面对较大数据量或者复杂查询逻辑时可能显得力不从心。此时可以考虑采用其他高级别的替代品如 IndexedDB 或者 SQLite 插件等扩展功能更强的选择[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值