本地存储

    1、数据存储在用户浏览器中的
    2、设置、读取方便、甚至刷新都不会丢失数据
    3、容量比较大,sessionStorange约5M,localstorage约20M
    4、只能存储字符串,可以将对象JSON.stringify()编码后存储
 

sessionStorage

    1、生命周期是关闭浏览器窗口
    2、在同一个窗口下数据共享
    3、以键值对形式存储数据
 
    存储数据
    sessionStorage.setItem('key', value)
    获取数据
    sessionStorage.getItem('key')
    删除数据
    sessionStorage.removeItem('key')
    清空所有数据
    sessionStorage.clear()
    <input type="text">
<button class="set">存储数据</button>
<button class="get">获取数据</button>
<button class="remove">删除数据</button>
<button class="del">清空所有数据</button>
        var ipt = document.querySelector('input')
var set = document.querySelector('.set')
var get = document.querySelector('.get')
var remove = document.querySelector('.remove')
var del = document.querySelector('.del')
set.addEventListener('click', function () {
var val = ipt.value;
sessionStorage.setItem('uname', val)
sessionStorage.setItem('pwd', val)
})
get.addEventListener('click', function () {
console.log(sessionStorage.getItem('uname'));
})
remove.addEventListener('click', function () {
sessionStorage.removeItem('uname')
})
del.addEventListener('click', function () {
sessionStorage.clear()
})
 

localstorage

    1、生命周期是一直存在的,除非是手动删除,否则关闭页面也存在
    2、可以多窗口共享(同一浏览器)
    3、以键值对形式存储使用
 
    存储数据
    localStorage.setItem('key', value)
    获取数据
    localStorage.getItem('key')
    删除数据
    localStorage.removeItem('key')
    清空所有数据
    localStorage.clear()
var ipt = document.querySelector('input')
var set = document.querySelector('.set')
var get = document.querySelector('.get')
var remove = document.querySelector('.remove')
var del = document.querySelector('.del')
set.addEventListener('click', function () {
var val = ipt.value;
localStorage.setItem('username', val)
localStorage.setItem('pwd', val)
})
get.addEventListener('click', function () {
console.log(localStorage.getItem('username'));
})
remove.addEventListener('click', function () {
localStorage.removeItem('username')
})
del.addEventListener('click', function () {
localStorage.clear()
})

记住用户名案例

<input type="text" id="username"><input type="checkbox" id="remember">记住用户名
 var username = document.querySelector('#username')
var remember = document.querySelector('#remember')
if (localStorage.getItem('username')) {
username.value = localStorage.getItem('username')
remember.checked = true;
}
remember.addEventListener('click', function () {
if (this.checked) {
localStorage.setItem('username', username.value)
} else {
localStorage.removeItem('username')
}
})

JS 本地存储笔记的更多相关文章

  1. js本地存储解决方案(localStorage与userData)

    WEB应用的快速发展,是的本地存储一些数据也成为一种重要的需求,实现的方案也有很多,最普通的就是cookie了,大家也经常都用,但是cookie的缺点是显而易见的,其他的方案比如:IE6以上的user ...

  2. js 本地存储 localStorage 之 angular

    今天项目中用到 php yii框架 用的不是 angular路由 所以用rootScope传值是不行的 我就用到了 localStorage 本地持久化存储 如下 set 顾名思义是设置 值 loca ...

  3. js——本地存储

    1. cookie 容量小:4k,在同源的http请求时携带传输,占用带宽,有日期限制 <!DOCTYPE html> <html lang="en"> & ...

  4. JS本地存储信息的实现方式(localStorage 与 userData)

    详细介绍请看: http://www.cnblogs.com/beiyuu/archive/2011/07/20/js-localstorage-userdata.html 里面涉及到的 demo 代 ...

  5. HTML5笔记:跨域通讯、多线程、本地存储和多图片上传技术

    最近做项目在前端我使用了很多新技术,这些技术有bootstrap.angularjs,不过最让我兴奋的还是使用了HTML5的技术,今天我想总结一些HTML5的技术,好记性不如烂笔头,写写文章可以很好的 ...

  6. HTML5 学习笔记(三)——本地存储

    目录 一.HTML4客户端存储 1.1.提交表单发送到服务器的信息 1.2.客户端本地存储概要 二.localStorage 2.1.添加 2.2.取值 2.3.修改 2.4.删除 2.5.跨页面与跨 ...

  7. HTML5 学习笔记(三)——本地存储(LocalStorage、SessionStorage、Web SQL Database)

    一.HTML4客户端存储 B/S架构的应用大量的信息存储在服务器端,客户端通过请求响应的方式从服务器获得数据,这样集中存储也会给服务器带来相应的压力,有些数据可以直接存储在客户端,传统的Web技术中会 ...

  8. store.js - 轻松实现本地存储(LocalStorage)

    store.js 是一个兼容所有浏览器的 LocalStorage 包装器,不需要借助 Cookie 或者 Flash.store.js 会根据浏览器自动选择使用 localStorage.globa ...

  9. [js开源组件开发]localStorage-cache本地存储的缓存管理

    localStorage-cache本地存储的缓存管理 距离上次的组件开发有近三个月的时间了,最近一直在做一些杂事,无法静下心来写写代码,也是在学习emberjs,在emberjs中有一个很重要的东西 ...

随机推荐

  1. L1和L2正则化。L1为什么能产生稀疏值,L2更平滑

    参考博客:https://zhuanlan.zhihu.com/p/35356992 https://zhuanlan.zhihu.com/p/25707761 https://www.zhihu.c ...

  2. 数据可视化之PowerQuery篇(十九)PowerBI数据分析实践第三弹 | 趋势分析法

    https://zhuanlan.zhihu.com/p/133484654 ​本文为星球嘉宾"海艳"的PowerBI数据分析工作实践系列分享之三,她深入浅出的介绍了PowerBI ...

  3. Visual SVN Server+TortoiseSVN进行源代码管理

    安装VisualSVN Server 安装完之后,可配置SVN Server的IP地址,右键下图红色部分,选择属性,然后可配置ServeName和IP Address 之后可以创建用户.用户组和项目库 ...

  4. 索引中丢失 IN 或 OUT 参数:: 103,解决办法

    索引中丢失  IN 或 OUT 参数:: 103 这个原因是数据库中的字段类型与SQL语句中的类型不匹配造成的,103代表第103个字段参数错误.找到对应参数配置或者SQL中这个参数的类型是否与数据库 ...

  5. Ethical Hacking - GAINING ACCESS(7)

    Server Side Attacks - NEXPOSE NeXpose is a vulnerability management framework, it allows us to disco ...

  6. 【JVM之内存与垃圾回收篇】虚拟机栈

    虚拟机栈 虚拟机栈概述 由于跨平台性的设计,Java 的指令都是根据栈来设计的.不同平台 CPU 架构不同,所以不能设计为基于寄存器的. 优点是跨平台,指令集小,编译器容易实现,缺点是性能下降,实现同 ...

  7. 设计模式:interpreter模式

    理解:可以广义的理解为创造一种语言,实现该语言的解释器,然后用创造的语言编写程序 对比:如xml就是一种语言,解析xml的代码就是解释器 例子: //目标:定义4中几种命令,使用C++解析 //如下: ...

  8. socket解决半包、粘包问题

    最近项目遇到socket服务端接收报文不全的问题,与其客户端约定的是报文长度+报文体.然而当客户端数据量大的时候,用分包发送,导致服务端报文日志接收不完整,于是想着先读出包体长度,再读出包体,不够就一 ...

  9. Dcoker docker: Error starting userland proxy: Bind for 0.0.0.0:80: unexpected error (Failure EADDRINUSE).

    https://stackoverflow.com/questions/46533482/error-starting-userland-proxy-bind-for-0-0-0-080-unexpe ...

  10. Jupyter Notebook 导出PDF与Latex中文支持

    Jupyter Notebook 最近搞机器学习用到了Jupyter Notebook. 作为一个实时记事本,有时需要将内容导出为PDF. 但是,Jupyter Notebook自带的File -&g ...