localStorage 和 sessionStorage
cookie 本身用于浏览器和 server 通讯。 被“借用”到本地存储来的。 可用 document.cookie = '...' 来修改。 其缺点: 存储大小限制为 4KB。 http 请求时需要发送到服务端,增加请求数量。 只能用 document.cookie = '...' 来修改,太过简陋。 2、localStorage 和 sessionStorage HTML5 专门为存储来设计的,最大可存 5M。 API 简单易用, setItem getItem。 不会随着 http 请求被发送到服务端。 它们的区别: localStorage 数据会永久存储,除非代码删除或手动删除。 sessionStorage 数据只存在于当前会话,浏览器关闭则清空。 一般用 localStorage 会多一些
objectDefineProperty
``` // 三个参数(属性所在的对象,你要操作的属性,被操作的属性的特性) // var geyao = { // sex: "男", // age: 18, // }; // console.log(geyao,"geyao1") // Object.defineProperty(geyao, "sex", { // get: function () { // console.log("读取时,get被触发"); // return this.sex // }, // set: function (value) { // console.log(value,"value"); // this.sex=value // }, // }); // console.log(geyao.sex,"geyao2") function getObj() { let obj = { sex:"男", age:18 }; let val = ""; //此处val是安全的,外部是无法修改的 let o = Object.defineProperty(obj, "key", { configurable: true, enumerable: true, get: function () { return val || 0; }, set: function (n) { val = n; }, }); return o; //每个对象都是新的 } let aa = getObj(); console.log(aa.sex); //返回性别
objectDefinePropertytest
```
Document
symbol
Symbol const symbol1 = Symbol() const symbol2 = Symbol(42) const symbol3 = Symbol('foo') console.log(typeof symbol1) // expected output: "symbol" console.log(symbol2 === 42) // expected output: false console.log(symbol3.toString()) // expected output: "Symbol(foo)" console.log(Symbol('foo') === Symbol('foo')) // expected output: false
this指向小练习
```
this指向
```
this指向问题
```
this指向
typeOf
//typeof:能判断所有值类型,函数。不可对 null、对象、数组进行精确判断,因为都返回 object // console.log(typeof undefined) // undefined // console.log(typeof 2) // number // console.log(typeof true) // boolean // console.log(typeof 'str') // string // console.log(typeof Symbol('foo')) // symbol // console.log(typeof 2172141653n) // bigint // console.log(typeof function () {}) // function // // 不能判别 // console.log(typeof []) // object // console.log(typeof {}) // object // console.log(typeof null) // object
总结
我是歌谣 最好的种树是十年前 其次是现在 加油 歌谣