如果想访问一个对象的属性时,我们会现在这个对象身上找,如果没找到,就会去这个对象的__proto__原型对象上找,就是它构造函数的prototype,如果还没找到,就继续向构造函数的prototype的__proto__上找,就这样一直向上找就形成了一个链式结构,即原型链。
new的过程
1、创建一个新对象
2、将构造函数的作用域赋给新对象(因此this就指向了这个新对象)
3、执行构造函数中的代码(为这个新对象添加属性)
4、返回新对象
防抖和节流
什么情况下需要防抖和节流?
响应跟不上触发频率的时候,就比如说鼠标移动事件、窗口大小改变事件,就是瞬间的操作会导致事件的高频触发,然后就会出现页面卡顿等现象。
处理:解决这些问题就会用到防抖和节流。防抖debounce就是当事件被触发时,我们给设定一个延时动作,当事件被快速连续的触发时,动作只会执行一次。(王者荣耀回城效果:如果中间点击,需要重新执行)
节流throttling:在固定周期内,只执行一次动作,若有新事件触发,不执行(射击游戏:每隔一段时间才能发射一枚子弹)