个人总结

257 阅读2分钟

1.单页面应用程序(SPA)的优缺点

  • 一、优点
    • 1.良好的交互体验
    • 2.良好的前后端工作分离模式
    • 3.减轻服务器压力
  • 二、缺点
    • 1.首屏加载慢
    • 2.不利于SEO
    • 3.不适合开发大型项目

2.EventLoop事件

先同步后异步 然后先微任务后宏任务

3.原型链

实例通过proto找到它的原型即构造函数的prototype,构造函数的prototype在通过proto寻找他的原型,直到找到proto为null的时候 这个就是实例的原型链
每个函数都有一个 prototype 属性
每一个JavaScript对象(null除外)在创建的时候就会与之关联另一个对象,这个对象就是我们所说的原型,每一个对象都会从原型"继承"属性。
每一个JavaScript对象(除了 null )都具有的一个属性,叫proto,这个属性会指向该对象的原型\

person.__proto__ === Person.prototype // true
原型链

console.log(Object.prototype.__proto__ === null) // true

参考

new的过程

使用new关键字调用函数(new ClassA (…) )的具体步骤:

  1. 创建空对象;   var obj = {};

  2. 设置新对象的constructor属性为构造函数的名称,设置新对象的__proto__属性指向构造函数的prototype对象;

    obj.proto = ClassA.prototype;

  3. 使用新对象调用函数,函数中的this被指向新实例对象:   ClassA.call(obj);  //{}.构造函数();          

  4. 将初始化完毕的新对象地址,保存到等号左边的变量中

注意:若构造函数中返回this或返回值是基本类型(number、string、boolean、null、undefined)的值,则返回新实例对象;若返回值是引用类型的值,则实际返回值为这个引用类型。

vue生命周期

beforeCreate之前初始化事件和生命周期
created初始化结束
beforeMount在挂载前调用render函数首次被调用生成虚拟dom
mounted挂载完成dom渲染完成可以进行dom操作了
beforeUpdate数据有更新调用
updated更新完事
beforeDestory之后清楚watcher子组件事件监听器等
destoryed销毁结束
image.png

MVC和MVVM

MVVM是双向数据绑定,MVVM是将“数据模型数据双向绑定”的思想作为核心
MVC是单向数据绑定,需要频繁操作Dom

Flex

flex-direction 改变主轴方面,默认水平

ES6

  • let,const

原型继承使用

Vue.prototype.bus = new Vue()