本地及会话存储
localStorage 等价于长生命周期的cookie
sessionStorage 等价于会话级别的cookie
getItem(key):获取指定key所存储的value值
key(index)方法:返回列表中对应索引的key值
length属性:返回key/value队列的长度
removeItem(key)方法:从Storage中删除一个对应的键值对。
setItem(key,value)方法:将value存储到key指定的字段。
clear()方法:移除所有的内容
增改
a. setItem(key,value);
localStorage.setItem("name","老王");
sessionStorage.setItem("name","老王");
b.点运算符
localStorage.age = 82;
c.下标法
localStorage["gender"] = 'FM';
查
a.getItem(key):返回key对应的value
console.log(localStorage.getItem("name"));
b.点运算符
console.log(localStorage.age);
c.下标法
console.log(localStorage["gender"]);
删
removeItem(key):删除key对应的键值对
localStorage.removeItem("name");
localStorage.clear();
--------------------------------
遍历所有的key
for(let i=0; i<localStorage.length; i++){
console.log(localStorage.getItem(localStorage.key(i)));
}
let data = '{"name":"佩洛西","age":82}';
localStorage.setItem("data",data);
let json = JSON.parse(localStorage.getItem("data"));
console.log(json);
cookie和本地及会话存储的异同?
数据的生命周期:
cookie:一般由服务器生成,可设置失效时间。如果在浏览器端生成Cookie,默认是关闭浏览器后失效
localStorage:除非被清除,否则永久保存;
sessionStorage:仅在当前会话下有效,关闭页面或浏览器后被清除;
存放数据的大小:
cookie:4k左右
本地及会话存储:一般为5MB;
与服务器端通信:
cookie:每次都会携带在HTTP头中,如果使用cookie保存过多数据会带来性能问题
本地及会话存储;仅在客户端(即浏览器)中保存,不参与和服务器的通信;
易用性:
cookie;需要程序员自己封装,源生的cookie接口不友好;
本地及会话存储;源生接口可以接受,亦可再次封装来对Object和Array有更好的支持;
观察者设计模式
观察者订阅者模式设计的思想
两个角度
a.观察者,订阅者
b.发布者,主题
核心思想,
订阅了主题的观察者,可收到主题发送的消息
在订阅中写函数定义,观察者中写函数调用,传递参数(消息)给订阅者
选择器插件
方法在调用时,和类对象的属性毫无关系
换而言之,该方法没有用到this
静态方法
被static 修饰的方法称为静态方法
静态方法通过类名调用
凡是和offset有关的属性,元素必须在页面显示,才能使用
插件的使用者和设计者
设计者:
1.设计功能模块
2.提供使用手册(api)
使用者
1.引入插件
2.按照设计文档使用插件
3.提供插口(HTML,CSS)