1.本地存储
webStorage:是浏览器端存储数据的一种前端技术,包含localStorage和sessionStorage这两个API。
localStorage:长期存储/本地存储,在浏览器中存储的数据会长期存在,除非手动删除,常用来存储网站的浏览历史,搜索历史,收藏,书签,某些网站账号等。
sessionStorage:会话存储/短期存储,浏览器窗口一旦关闭,则立即删除,常用来存储一些网页的登录状态。
localStorage 和 sessionStorage 都是window的属性,用于本地存储数据,API相同,不同的是数据存储位置和时间长短不一样。
1.1 增, 注意:只支持字符串类型存储
-
存储字符串键值对:localStorage.setItem(key,value); / sessionStorage.setItem("age", "208");
-
存储对象类型键值对:sessionStorage.setItem("friend", JSON.stringify(obj));
var obj = { name: "李四" } sessionStorage.setItem("friend", JSON.stringify(obj));
1.2 删除的两种方式
-
通过key删除数据:localStorage.removeItem("name");
-
清空数据:sessionStorage.clear(); 这里指的是清空所有数据
1.3 改
改和增使用相同的API,无此key则添加,有此key则修改
-
localStorage.setItem("sex", "true")
1.4 查
-
查看数据长度:localStorage.length;
-
通过key值取出某一条数据:localStorage.getItem("sex");
-
遍历取出所有数据,如下:
for (var i = 0; i < localStorage.length; i++) { var key = localStorage.key(i); console.log(localStorage.getItem(key)); }
为什么打开一个新的窗口,同一个网页,会话存储sessionStorage数据不一致?
-
会话存储的数据是在窗口上存的,一个窗口对应一个sessionStorage作用域,对于不同的窗口,即使是同一个网页,数据也不共用。
-
本地存储localStorage的数据是在域名(IP地址)下存的,一个域名网址对应一个localStorage作用域,对于同一个域名下的不同网页可以共用localStorage,不同域名下的localStorage相互隔离不通用。
2.装箱和拆箱
-
装箱:把值类型转换成引用类型的过程 JSON.parse()
-
拆箱:把引用类型转换成值类型的过程 JSON.stringfy()
3.外边距合并的条件
-
外边距合并的两个标签必须都是块标签
-
外边距合并只针对上下边距,左右边距不会合并
-
合并边距的两个标签必须相邻,可以是兄弟或父子,中间不能有内容,边框,内边距
4.width:calc():把不同单位的尺寸进行简单运算(加减乘除)
-
注意:运算符前后必须加空格 ,否则 ,“ - ”会被解析为负号而不是减号
width: calc((100% - 20px * 5) / 5);