1,原型链 和 作用域链,主要表现在寄生组合继承和extends继承的区别和new做了什么。
作用域的特点 ::先在自己的变量范围中查找,如果找不到,就会沿着作用域往上找。总结有以下两点!
1、函数限定变量作用域,就是说,在JavaScript中,在函数里面定义的变量,可以在函数里面被访问,但是在函数外无法访问
2、在JavaScript中使用变量,JavaScript解释器首先在当前作用域中搜索是否有该变量的定义,如果有,就是用这个变量;如 果没有就到父域中寻找该变量. 由于变量提升,因此在实际开发的时候,推荐将变量都写在开始的地方,也就是在函数的开头将变量就定义好.
原型链:
它也是一种查找机制,实例首先在自己的私有属性种进行查找,如果不是私有属性,基于__proto__向所属类的原型上进行查找,如果再找不到,则继续基于__proto__向上查找,一直找到Object.prototype为止。例如obj.hasOwnproperty这个属性就是找到Object.prototype才找到的
1、所有的函数都继承自 Function.prototype,Function,Object 是函数,所以继承自 Function.prototype
2、所有的对象都直接或间接继承自 Object.prototype,Function.prototype.proto === Object.prototype函数也是对象,所以函数最终继承自Object.prototype
3、Object.prototype 继承自 null,万剑归宗
2,vue生命周期(包含子孙组件的情况)
beforeCreate (创建前)
created 此时进行数据请求---- 初始化数据
beforeMount (载入前) 挂载开始之前被调用 挂载Dom
mounted (载入后) dom渲染完成
beforeUpdate (更新前) 更新
updated (更新后)
beforeDestory (销毁前)
detoryed (销毁后)
4、vue一些高级特性(比如 自定义 v-model、插槽、mixins、keep-alive、动态组件、异步组件,$nextTick**
自定义 v-model: 负责监听用户的输入事件,从而更新数据,
[参考链接](https://www.jianshu.com/p/20e485cb65d9)