![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js学习
文章平均质量分 79
we are peers
这个作者很懒,什么都没留下…
展开
-
React-杂记
React 学习高阶组件函数组件中绑定this指向(隐式)的方式React 生命周期受控组件与非受控组件受控组件非受控组件组件优化只渲染产生变化的部分前端路由browser路由hash路由Portals高阶组件作用:类似一个装饰器,为原有的组件提供额外的功能。抽象出原始组件的共有方法,并将原始组件作为子组件传入高阶组件。函数组件中绑定this指向(隐式)的方式通过箭头函数// 方式一function App() { let [count, setCount] = useState原创 2021-09-07 20:31:34 · 139 阅读 · 0 评论 -
JS-es6新特性
JS学习4let/const解构赋值扩展运算符restSymbolMap 和SetMaplet/constlet 用于声明块级作用域的变量,具有暂时性死区(声明前使用会报错)的约束。const只包含声明和初始化两个操作。对于for循环,js每执行一次循环都会创建一个块作用域。解构赋值// 常见操作let a = 1, b=2;// 使用解构赋值来交换变量值[a, b] = [b, a] 扩展运算符...符号常用于拷贝原始对象,注意,该运算符只进行一层拷贝(浅拷贝)。let obj原创 2021-08-30 11:30:00 · 189 阅读 · 0 评论 -
JS-事件处理机制
JS学习3发布订阅设计模式Event Loop发布订阅设计模式Event Loopjs是一门单线程语言,其异步与多线程的实现是通过 Event Loop 来实现的。调用栈消息队列(setTimeout、setInterval等的事件回调函数,会在调用栈清空后执行)。微任务队列(Promise,async await等创建的异步操作,会在调用栈清空后立即执行,优先于消息队列)。var p = new Promise(resolve =>{ console.log(4);原创 2021-08-29 21:22:11 · 201 阅读 · 0 评论 -
JS-面向对象和this处理
JS 学习3原型和原型链this 指向箭头函数和普通函数指向形式new 关键字call、apply和bindcall、applybind实现继承的几种方式使用原型链借用构造函数寄生式继承类继承原型和原型链prototype 表示的是该对象的原型对象_proto_ 指向的是产生该实例的对象中的原型对象(本质就是访问公共属性的指针)。constructor 则指向的是创造该对象的父类对象原型对象:用于实现继承,包含实例对象都能访问的公共属性和方法。注意点:constructor 的最终指向原创 2021-08-26 11:29:43 · 78 阅读 · 0 评论 -
JS-高阶函数
JS 学习2函数柯里化函数防抖和函数节流函数防抖函数节流惰性函数函数柯里化定义:先接受一些参数并形成闭包,并返回另一个函数,用于接受剩余的参数。调用另一个函数,会将所有的参数加入计算得到结果。本质:固定部分参数,创建偏函数,使得函数的通用性降低,适用性提升。一种柯里化的方法:var curry = function (fn) { var args = [].slice.call(arguments, 1); return function() { var newAr原创 2021-08-24 18:16:31 · 62 阅读 · 0 评论 -
JS - 堆栈内存及闭包作用域
JS 学习1数据类型变量提升执行上下文闭包闭包的应用编译机制(VO,AO和GO)VO(变量对象)VO(G)AOGO作用域数据类型undefined 和 null 区别与联系undefined 表示某个表达式的原始状态。null 表示一个对象被认为重置,切断栈中对象指针与堆中对象的关系,因此,用于释放对象。js中的 string 也属于基本类型,因此数据也是直接存储在栈中。js中也存在包装类,与基本类型最主要的区别就是对象的生存周期。// 引用类型自定义属性在定义后失效let s =原创 2021-08-24 16:39:12 · 145 阅读 · 0 评论