05 2021 档案
对象的深浅拷贝
摘要:一.定义: 1.浅拷贝 创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值,如果属性是引用类型,拷贝的就是内存地址 ,所以如果其中一个对象改变了这个地址,就会影响到另一个对象。 2.深拷贝 将一个对象从内存中完整的拷贝一份出来,从堆内存中开辟一个新的 阅读全文
posted @ 2021-05-31 15:38 皮杰克 阅读(117) 评论(0) 推荐(0)
函数柯里化封装
摘要:function add(x,y,z){ console.log('结果',x+y+z); }; function curry(fn){ let args = [].slice.call(arguments,1); let len = fn.length; let newLen = args.len 阅读全文
posted @ 2021-05-31 14:34 皮杰克 阅读(88) 评论(0) 推荐(0)
prototype 和 __proto__
摘要:function Person(name,age){ this.name = name; this.age = age; } var person1 = new Person('jay',24); console.log(person1.prototype); //undefined console 阅读全文
posted @ 2021-05-29 14:36 皮杰克 阅读(65) 评论(0) 推荐(0)
new 发生了什么
摘要:1.创建新对象 2.将this绑定到该对象 3.执行构造函数代码,将属性绑定到新对象 4.返回该对象 注意:新对象的__proto__要指向构造函数的prototype 阅读全文
posted @ 2021-05-29 11:37 皮杰克 阅读(73) 评论(0) 推荐(0)
关于事件循环
摘要:javascript 任务主要分为同步任务和异步任务 同步任务直接在主线程(主任务栈执行) 异步任务会被放入事件队列 Event Queue 异步任务会被事件队列的机制协调 主线程任务执行完毕后 到任务队列获取到相应任务推入主线程执行 如此循环往复就是事件循环 Event Loop 执行完当前主线程 阅读全文
posted @ 2021-05-28 17:12 皮杰克 阅读(77) 评论(0) 推荐(0)
about BFC
摘要:一.什么是BFC BFC是一个独立的渲染区域,区域外部的元素布局(浮动)不会影响区域内部元素。同样区域内部元素布局不会影响外部元素。 二.特点 1.同一个BFC区域内的盒子margin会重叠 2.同一个BFC内的块元素都贴着BFC左边排列,即使其中一个元素浮动也是如此(自适应两栏布局) 3.计算BF 阅读全文
posted @ 2021-05-27 16:34 皮杰克 阅读(82) 评论(0) 推荐(0)