JS中的本地存储

JS之8个JavaScript库可更好地处理本地存储 https://github.com/krasimir/lsbridge如果你必须在同一个浏览器中从一个标签页发送消息到另一个标签页,你不必用艰难的方式。Local storage bridge在这里让任务变得更简单。基本使用: Basil.js Basil.js统一了session、localStorage和cookie,为你提供了一种处理数据的直接方法。基本使用: store.js https://github.com/marcuswestin/store.jsStore.js像其他东西一样处理数据存储 阅读详情

在客户端运行的JS是不能操作用户电脑磁盘中的文件的(保护客户端运行的安全)

JS中的本地存储:

使用JS向浏览器的某一个位置中存储一些内容,浏览器及时关闭了,存储的信息也不会销毁,当再重新打开浏览器的时候,我们依然可以获取到上一次存储的信息

本地存储和缓存是不一样的,本地存储有本地存储的点,缓存有缓存的点。记住用户名密码,购物车等就属于本地存储 


本地存储方案:

传统:

1.cookie:把信息存储到客户端的浏览器中(但是项目服务器端也是可以获取cookie的)
2.session:吧信息存储到服务器上,不属于本地存储,属于服务器存储

HTML5:webStorage

1.localStorage:永久存储到客户端本地
2.sessionStorage:信息的会话存储,会话窗口存在信息也存在,会话窗口关闭信息就消失

商品加入购物车的过程:
①先将当前用户加入购物车的这条信息存到本地cookie一份
②再存到服务器中的session中一份
③再存到服务器的数据库中一份
不仅存了当前这条购物车信息之外,还存了客户端的IP地址,如果登录了还需要记录用户账号
好处:实现多设备之间,同一个账号能够一起购买

cookie的操作

存储:document.cookie = "age=7"
获取:document.cookie
document.cookie = "age=7";
console.log(document.cookie);     //age=7

如果想要获取cookie中某个参数的值,就需要编写JS进行正则匹配
cookie.js
var cookieRender = (function(){
    //设置,expires过期时间,path路径,domain当前的一个域
    function setValue(options){
        var _default = {
            name: null,
            value: null,
            expires: new Date(new Date().getTime() + (1000 * 60 * 60 * 24)),
            path: '/',
            domain: ''
        };
        for (var key in options) {
            if(options.hasOwnProperty(key)){
                _default[key] = options[key];
            }
        }
        document.cookie = _default.name + "=" + escape(_default.value) + 
            ";expires=" + _default.expires.toGMTString() + 
            ";path=" + _default.path + ";domain=" + _default.domain;
    }
    //获取,正则匹配
    function getValue(name){
        var arr = document.cookie.match(new RegExp("(^| )" + name + "=([^;]*)(;|$)"));
        if (arr != null) {
            return unescape(arr[2]);
        }
        return null;
    }
    //删除:原理就是让过期时间变成一个今天日期之前的
    function removeValue(options){
        var _default = {
            name: null,
            path: '/',
            domain: ''
        };
        for (var key in options) {
            if(options.hasOwnProperty(key)){
                _default[key] = options[key];
            }
        }
        if (getValue(_default.name)) {
            document.cookie = _default.name + "= ; path=" + _default.path  +"; domain="
             + _default.domain + ";expires=Fri, 02-Jan-1970 00:00:00 GMT";
        }
    }

    return {
        set: setValue,
        get: getValue,
        remove: removeValue
    }
})();

使用cookie存储
<script type="text/javascript" src="js/cookie.js"></script>
<script type="text/javascript">
	cookieRender.set({
		name: 'age',
		value: 7
	});
	console.log(cookieRender.get("age"));   //7
</script> 


escape  &&  unescape 可以对中文的字符串进行编码和解码,防止传递存储过程中出现乱码
<script type="text/javascript">
		var str = "前端知识";
		var n = escape(str);
		console.log(n);        //%u524D%u7AEF%u77E5%u8BC6
		var m = unescape(n);
		console.log(m);        //前端知识
</script>
除此之外,还有encodeURI()   &&  decodeURI() ,  encodeURIComponent()  &&  decodeURIComponent()

localStorage的操作

存储:localStorage.setItem([key],[value])  =>  向客户端本地存储一条记录,存储的[value]需要是字符串格式的,如果编写的不是字符串,浏览器会默认转换成字符串然后再进行存储,同源下存储的[key]是不会重复的,如果之前有的话,是把存储的信息重复的进行修改
获取:localStorage.getItem([key])  =>  获取之前存储的值
移除:localStorage.removeItem([key])  =>  移除key存储的值
都移除:localStorage.clear()  =>   把当前源下所有存储记录都移除掉
条数:localStorage.length()  =>   获取存储的记录条数   =>    '1' 
索引值:localStorage.key(0)  =>  获取索引为0的一项的key值是什么  =>   ‘age’
localStorage.setItem('age',7);                                  
    localStorage.getItem('age');   //   得到的是字符串类型的 ‘7’  
    localStorage.setItem('age',{zhufeng:‘珠峰’});          
    localStorage.getItem('age');    //   [Object,Object]    
    localStorage.setItem('age',  JSON.stringify({"zhufeng":"珠峰"}));          
    localStorage.getItem('age');    //   {"zhufeng":"珠峰"}  

数组 toString()是转换成字符串
对象 toString()是不仅仅是转换字符串,而且是用来检测数据类型的

sessionStorage的操作

存储:sessionStorage.setItem([key],[value])
获取:sessionStorage.getItem([key])
移除:sessionStorage.removeItem([key]) 
都移除:sessionStorage.clear()
条数:sessionStorage.length()
索引值:sessionStorage.key(0)

localStorage和sessionStorage的区别

localStorage   =>    属于永久存储到本地,不管是刷新页面还是关闭浏览器,存户的内容都不会消失,只有我们自己手动删除才会消失(①在控制台resource里面找到对象摁住delete,②使用JS里面的removeItem([key]) 或者clear()方法来清除),不管是杀毒软件还是浏览器自带的清除历史记录的功能,都不能把localstorage存储的内容移除掉

sessionStorage   =>    属于临时会话存储,只要当前的页面不关闭,信息就可以存储下来,但是页面一旦关闭,存储的信息就会自带清除(F5刷新页面只是把当前的DOM结构等进行重新的渲染,会话并没有关闭)

localStorage和cookie的区别

cookie是兼容所有的浏览器。localStorage是不兼容IE6.7.8。
cookie存储内容大小是有限制的,一般同源下只能存储4KB的内容。localStorage存储的内容大小也有限制,一般同源下只能存储5MB。
cookie存储的内容是有过期时间的。localStorage存储到本地是永久的。使用杀毒软件或者浏览器自带的清除垃圾功能都可能会把存储的cookie给删除点,而localStorage不会
用户可能出于安全的角度,禁用cookie(无痕浏览器),但是不能禁止localStorage。

真实项目中的本地存储都使用在哪些地方?

cookie:
记住用户名密码或者自动登录:用户的部分信息,当用户登录成功后我们会把用户的一些信息记录到本地的cookie中,这样在项目中的任何页面都可以知道当前登录的用户是哪一个了。还要购物车等。。。(存储少量信息或者需要浏览器兼容的都需要使用cookie来进行存储)

localStorage:
在PC端我们可以用其存储某一个JS或者CSS中的源代码(性能优化,减少http请求)。还可以把一些不需要经常更新的数据存储到本地,存储的时候可以设置一个存储的时间以后重新刷新页面,看一下时间有没有超过预定的时间,如果已经超过了,我们重新获取最新数据,没超过我们用本地数据

本地存储都是明文存储

对于重要的信息,我们一般不要存储到本地,但是如果非要存储的话,我们需要把存储的信息进行加密
-->  可以逆转加密:加密完成还可以解密回来
-->  不可逆转加密:MD5, 



动态欧拉角与静态欧拉角:从理论到实践的深度解析 本文深度解析了动态欧拉角与静态欧拉角的核心区别与应用场景。静态欧拉角基于固定世界坐标系,适用于全局导航与三维场景编辑;而动态欧拉角基于物体自身坐标系,更符合飞行模拟、机器人控制等直觉操作,但需警惕其固有的万向节死锁问题。文章通过理论结合实战,帮助开发者在机器人、无人机及图形学项目中正确选用与处理旋转表示。 阅读详情

相关推荐

Windows下用RKDevTool解包update.img的完整流程(含常见错误排查)

本文详细介绍了在Windows系统下使用RKDevTool工具解包update.img固件的完整流程。从工具准备、环境搭建到逐步解包操作,重点解析了输出文件结构,并提供了修改分区后重新打包的实战方法。文章还针对解包失败、打包错误等常见问题提供了详细的排查与解决方案,旨在帮助嵌入式开发者和爱好者高效完成固件分析与定制工作。

aa123的博客 717

【前端知识之JS】JS本地存储

本系列主要整理前端面试中需要掌握的知识点。本节介绍本地存储的四种方式,以及他们的比较和应用。

weixin_44337386的博客 8936

吃透Chisel语言.04.Chisel基础(一)——信号类型和常量

开始肯定是介绍Chisel的基础内容了,《Chisel基础》这一部分主要会介绍数字设计中的两个基本组件:组合电路和触发器。这俩基本组件都不复杂,但是组合在一起就可以得到规模很大、功能也很强大的数字电路了。 第一部分我们就简单地看看Chisel中的信号类型和常量,在上一篇文章中也有相关介绍,其中还包括和Verilog之间的对比。......

github-3rr0r的博客 3822

[JavaScript] 本地存储(sessionStorage与localStorage)

小案例: 在这个登录注册页面案例里,我们并没有连接数据库而是用到了本地存储这个知识点完成的,我们看看本地存储究竟是什么: 本地存储特性 数据存储在用户浏览器中 设置、读取方便、甚至页面刷新不丢失数据 容量较大, sessionStorage约5M、localStorage约20M . 只能存储字符串,可以将对象JSON.stringify()编码后存储 window.sessionStorage 特点 生命周期为关闭浏览器窗口 在同一个窗口(页面)下数据可以共享 以键值对的形式存储使用 使用 存储

qq_49900295的博客 592

PMOS缓启动电路设计实战:用LTspice优化上电时序,把60A冲击降到15A

本文通过一个实战案例,深入解析了PMOS缓启动电路如何有效抑制上电冲击电流。文章指出,低ESR电容是导致冲击电流飙升的元凶,并详细阐述了利用LTspice仿真工具,通过优化栅极电阻和栅源电容等参数,将高达60A的冲击电流成功降至15A的设计与优化过程,为电源开关电路设计提供了可复用的方法论。

onion的博客 900

SOPHGO SG2000/SG2002 AI SoC异构架构解析与应用

异构计算架构通过整合不同指令集核心(如RISC-V、Arm和8051)实现性能与功耗的平衡,是现代嵌入式系统和AIoT设备的关键技术。其原理是根据任务特性分配至最适合的计算单元,例如通用计算使用高性能核心,实时任务交由专用核心处理。这种架构在智能视觉、工业检测等场景具有显著优势,能高效处理AI推理、多媒体编解码等任务。SOPHGO SG2000系列SoC采用创新的三核异构设计,集成了0.5-1TOPS的NPU加速器,支持Linux/Android/FreeRTOS多系统并行运行。开发中需注意核心间的IPC通

weixin_30684743的博客 355

js——本地存储

1.l ocalStorage 作用是什么?可以将数据永久存储在本地(用户的电脑),除非手动删除,否则关闭页面也会存在。2. localStorage 存储,获取,删除的语法是什么?

qq_64536562的博客 1853

Android T GPS 定位流程

Gps 定位

好记性不如烂笔头 1355

JS-本地存储

随着互联网的快速发展,基于网页的应用越来越普遍,同时也变的越来越复杂,为了满足各种各样的需求,会经 常性在本地存储大量的数据,HTML5规范提出了相关解决方案。

醉意在诗里的博客 587

excel 如何自动调整行间距 vba

EXCEL是一个非常使用的软件,虽然我们平时仅使用他做一些报表,仅此而已;我在工作中,由于很懒,不愿意做考试重复的工作,就想着使用vba的宏来完成重复的工作,这样就能省出一部分的时间来了。本人不喜欢在博客里面写以下教程类的东西,我的理念是将工作中的痛点的解决办法分享出来,以解决问题为主。

sixtome 1316

[VT虚拟化驱动]正式启动VT

文章目录前言一、vmlaunch正式开始虚拟化二、使用步骤1.引入库2.读入数据总结 前言 本章开始真正实现一个最简单的VT框架,当然,只是能跑起来一个VT驱动了,没有并包括EPT,EPT后面再讲 提示:以下是本篇文章正文内容,下面案例可供参考 一、vmlaunch正式开始虚拟化 执行VMLAUNCH指令执行后,就正式进入虚拟化了,再该指令执行之前,得先保存Guest当前的环境,执行完VMLAUNCH后,要恢复Guest的环境,让Guest就像什么都没发生一样,所以需要保存和恢复Guest的各种寄存器的值

吾无法无天的博客 3663

JS 本地储存 【详细】

本地储存 为什么需要本地存储呢: 数据存储在用户浏览器中,在控制台中Application模块中查看。 设置、读取方便、甚至页面刷新不丢失数据 容量较大,sessionStorage约5M、localStorage约20M 只能存储字符串,可以将对象JSON.stringify() 编码后存储 Application模块: 本地储存分两种,一种是sessionStorage,以及localStorage.那么有什么异同点呢? 分别来说: window.sessionStorage 生命周期为关闭浏

egg_er的博客 1万+

贝叶斯(Bayes)决策理论

在博文【模式识别PR和模式的概念】介绍了相关的模式识别与模式的概念。在本节描述所要讨论的问题之前,再提一下对于待识别的物理对象的描述问题。假设一个待识别的物理对象用其d个属性观察值描述,称之为d个特征,这组成一个d维的特征向量,而这d维待征所有可能的取值范围则组成了一个d维的特征空间。一般地,机器实现自动分类有两大类方法:一种是模板匹配方法,另一种是对特征空间划分为子空间(每类的势力范围)的方法。

松子茶的专栏 3万+

JavaScript本地存储的方式有哪些

这些技术各有优缺点,选择哪一种取决于具体的应用场景和需求。对于简单的键值对存储,LocalStorage 和 SessionStorage 是很好的选择;对于需要存储更复杂和大量数据的情况,IndexedDB 更加合适;而 Cookies 则通常用于存储需要在服务器和客户端之间共享的信息。在JavaScript中,有几种常用的方式可以在本地存储数据。

学习和分享 1671

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

使用JavaScript进行本地存储

So far, we have learned basically to advance JavaScript with HTML and using all these knowledge we made a task to-do web app. If we look closely to that web app, we never added any storage mechanism t...

cumt951045的博客 641

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

javascript之store.js 轻松实现本地存储(LocalStorage)

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34417814的博客 648

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

JavaScript本地存储

JavaScript本地存储

橘颂的博客 657

JS DAY5 Window对象与本地存储

B0M(Browser Object Model)是浏览器对象模型window对象是一个全局对象,也可以说是JavaScript中的顶级对象像document、alert()、console.l0g()这些都是window的属性,基本B0M的属性和方法都是window的。所有通过var定义在全局作用域中的变量、函数都会变成window对象的属性和方法window对象下的属性和方法调用的时候可以省路window。

2402_88794887的博客 776

【JavaScript】Bom操作、Window对象、本地存储

任务分为同步任务和异步任务,当同步任务先执行完之后,再会跑到任务队列中找到可以执行的异步任务放入同步任务内进行执行 常用属性和方法: 总结: 总结: 全部代码: css:

2301_80636070的博客 715

JavaScript的本地存储

在早期的网页开发中,我们常常遇到这样的问题:页面中写入的数据,一旦刷新页面就会消失不见,这给用户体验和功能实现带来了诸多不便。localStorage 可以将数据永久存储在本地(用户的电脑),除非用户手动删除,否则即使关闭页面,数据也会一直存在。通过具体的例子,如存储名字和年龄,使操作更加直观易懂,方便开发者快速掌握 localStorage 的使用方法。,该页面在刷新后数据依然能够保持,这便是利用了本地存储的特性,让用户在操作待办事项时,无需重复输入已记录的内容,极大地提高了使用效率。

奋斗的小前端 1222

【JavaScript】二十五、本地存储LocalStorage

注意,下面例子中,map传参的函数最后有return,当然,你也可以不return,也就是说,只做了一个遍历操作,但一般不推荐map遍历,因为map设计出来就是处理数据并返回一个新数组map,即映射,和forEach不同的是,map有返回值。

llg___的博客 1401

【JavaScript】本地存储数据

JavaScript提供了两种主要的本地存储方式:localStorage和sessionStorage

zyh0815的博客 707

JavaScript详解十七 ——JSON、本地存储

将JSON字符串转换为JS中的对象,在JS中,为我们提供了一个工具类,就叫JSON ,这个对象可以帮助我们将一个JSON转换为JS对象,也可以将一个JS对象转换为JSON。是本地存储,存储在客户端,以键/值对的形式存储的,通常以字符串存储。//{"name":"猪八戒","age":28,"gender":"男"}var json = '{"name":"孙悟空","age":18,"gender":"男"}';如果数组很长,我们的代码中就要添加大量的没有实际意义的开始和结束标签,这对于网络传输是不利的。

奋斗的小前端 1870

JavaScript本地存储(Local Storage)

JavaScript本地存储是一项非常有用的技术。它允许我们在用户的浏览器中存储数据,以便在不同的网页之间保持持久性。

rr20060119的博客 1314

JS本地存储

用法跟localStorage基本相同,同一窗口(页面下可共享),以键值对的方式存储并使用。删除数据(只删除名字) localStorage.removeItem('键')存储数据 localStorage.setItem('键', '值')获取数据 localStorage.getItem('键', '值')存储数据 localStorage.setItem('键', '值')当页面浏览器被关闭时,存储在 sessionStorage 的数据会被清除。

2401_87805056的博客 902

JavaScript 中的本地存储方式及其应用场景概述

本篇讲解JavaScript的本地存储方式都有哪些,分别使用场景是哪些,区别是什么。

Sherry Tian的博客 1628
上一篇: 移动端事件基础
下一篇: 移动端的事件库
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值