2020年2月24日
摘要: 目录基础 Hook• useState• useEffect• useContext方法一:方法二额外的 Hook• useReducer• useCallback• useMemo• useRef• useImperativeHandle• useLayoutEffect• useDebugVal 阅读全文
posted @ 2020-02-24 18:43 蒸汽小工人 阅读(729) 评论(0) 推荐(0) 编辑
  2020年2月5日
摘要: 因为浏览器出于安全考虑,有同源策略。也就是说,如果协议、域名或者端口有一个不同就是跨域,Ajax 请求会失败。 那么是出于什么安全考虑才会引入这种机制呢? 其实主要是用来防止 CSRF 攻击的。简单点说,CSRF 攻击是利用用户的登录态发起恶意请求。 也就是说,没有同源策略的情况下,A 网站可以被任 阅读全文
posted @ 2020-02-05 15:04 蒸汽小工人 阅读(134) 评论(0) 推荐(0) 编辑
摘要: Promise Promise 翻译过来就是承诺的意思,这个承诺会在未来有一个确切的答复,并且该承诺有三种状态,分别是: 等待中(pending) 完成了 (resolved) 拒绝了(rejected) 这个承诺一旦从等待状态变成为其他状态就永远不能更改状态了,也就是说一旦状态变为 resolve 阅读全文
posted @ 2020-02-05 15:01 蒸汽小工人 阅读(149) 评论(0) 推荐(0) 编辑
摘要: Generator 算是 ES6 中难理解的概念之一了,Generator 最大的特点就是可以控制函数的执行 你也许会疑惑为什么会产生与你预想不同的值,接下来就让我为你逐行代码分析原因 首先 Generator 函数调用和普通函数不同,它会返回一个迭代器 当执行第一次 next 时,传参会被忽略,并 阅读全文
posted @ 2020-02-05 14:55 蒸汽小工人 阅读(249) 评论(0) 推荐(0) 编辑
摘要: 好处 解决命名冲突 提供复用性 提高代码可维护性 立即执行函数 立即执行函数 (function(globalVariable){ globalVariable.test = function() {} // ... 声明各种变量、函数都不会污染全局作用域 })(globalVariable) AM 阅读全文
posted @ 2020-02-05 14:53 蒸汽小工人 阅读(116) 评论(0) 推荐(0) 编辑
摘要: 组合继承 组合继承是最常用的继承方式, 核心 :是在子类的构造函数中通过 Parent.call(this) 继承父类的属性,然后改变子类的原型为 new Parent() 来继承父类的函数。 优点 :在于构造函数可以传参,不会与父类引用属性共享,可以复用父类的函数 缺点 :就是在继承父类函数的时候 阅读全文
posted @ 2020-02-05 14:50 蒸汽小工人 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 一张图图能让你彻底明白原型和原型链 原型链就是多个对象通过 __proto__ 的方式连接了起来。为什么 obj 可以访问到 valueOf 函数,就是因为 obj 通过原型链找到了 valueOf 函数。 总结以下几点: Object 是所有对象的爸爸,所有对象都可以通过 __proto__ 找到 阅读全文
posted @ 2020-02-05 14:45 蒸汽小工人 阅读(167) 评论(0) 推荐(0) 编辑
摘要: 对于 == 来说,如果对比双方的类型不一样的话,就会进行类型转换 假如我们需要对比 x 和 y 是否相同,就会进行如下判断流程: 首先会判断两者类型是否相同。相同的话就是比大小了 类型不相同的话,那么就会进行类型转换 会先判断是否在对比 null 和 undefined,是的话就会返回 true 判 阅读全文
posted @ 2020-02-05 14:40 蒸汽小工人 阅读(110) 评论(0) 推荐(0) 编辑
摘要: 浅拷贝 1、Object.assign let a = { age: 1 } let b = Object.assign({}, a) a.age = 2 console.log(b.age) // 1 2、展开运算符 ... let a = { age: 1 } let b = { ...a } 阅读全文
posted @ 2020-02-05 14:38 蒸汽小工人 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 可能会发生多个规则同时出现的情况,这时候不同的规则之间会根据优先级最高的来决定 this 最终指向哪里。 首先,new 的方式优先级最高,接下来是 bind 这些函数,然后是 obj.foo() 这种调用方式,最后是 foo 这种调用方式,同时,箭头函数的 this 一旦被绑定,就不会再被任何方式所 阅读全文
posted @ 2020-02-05 14:31 蒸汽小工人 阅读(139) 评论(0) 推荐(0) 编辑