localStorage:用于长久保存整个网站的数据,保存的数据没有过期时间,直到手动去除。
sessionStorage:用于临时保存同一窗口(或标签页)的数据,在关闭窗口或标签页之后将会删除这些数据。
sessionStorage.getItem(key) 获取数据
sessionStorage.removeItem(key) 删除数据
sessionStorage.clear() 删除所有数据
sessionStorage.setItem(key, value) 存储数据
localStorage.setItem(key,value) 存储数据
localStorage.getItem(key) 获取数据
localStorage.removeItem(key) 删除数据
localStorage.clear() 清空数据 / 删除所有数据
结构赋值:他是一种针对数组或者对象进行模式匹配,然后对其中的变量进行赋值。
let [a, b, c] = [1, 2, 3];
let [a, b, c] = [1, 2];
let [a, b] = [1, 2,3];
let [a,, b] = [1, 2,3];
let [a, [[b], c]] = [1, [[2], 3]];
let [a, ...b] = [1, 2, 3,4,5];
// ...剩余运算符|扩展运算符
// 注:通常写在最后
let [a = 1, b] = [];
let [a,b,c,d,e] = "hello";
let [a,b,c,d,e] = ["h","e","l","l","o"];
let [a = 2] = [undefined];
let [a = 2] = [null];
let [a=1,b,c=a] = [,0]
console.log(a);
console.log(b);
console.log(c);
console.log(d);
console.log(e);
/ let { foo, bar } = { foo: 'aaa', bar: 'bbb' };
// let { foo, bar } = { bar: 'aaa', foo: 'bbb' };
// let { bar : foo } = { bar : 'ddd' };
// console.log(foo);
// console.log(bar);
// let obj = {p: ['hello', {y: 'world'}] };
// let {p:[x,{y}]} = obj;
// {p:[x,{y:y}]} = {p: ['hello', {y: 'world'}] }
// console.log(p);
// let obj = {p: ['hello', {y: 'world'}] };
// let {p: [x, { }] } = obj;
// let obj = {p: [{y: 'world'}] };
// let {p: [{ y }, x ] } = obj;
// console.log(x);
// console.log(y);
// let {a, b, ...rest} = {a: 10, b: 20, c: 30, d: 40};
// console.log(a);
// console.log(b);
// console.log(rest);
// let {a = 10, b = 5} = {a: 3};
// let {a:a = 10, b:b = 5} = {a: 3};
// console.log(a);
// console.log(b);
// let {a: aa = 10, b: bb = 5} = {a: 3};
// console.log(a);
// console.log(b);
// console.log(aa);
// console.log(bb);