携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第30天,点击查看活动详情 >
1、 let var const 的区别
1) var全局作用域、函数作用域,存在变量提升,函数外不可读取函数内的变量
2) Let块级作用域,不存在变量提升
3) Const块级作用域,不存在变量提升,用来定义常量,不可修改,使用时初始化
4) const定义对象,对象的属性值可被修改,因为对象是引用类型的,变量中保存的仅是对象的指针;const仅保证指针不发生改变,而修改对象的属性不会改变对象的指针,所以不会报错
2、 vue 的响应式原理
1) 在生成vue实例的时候,会对传入的data进行遍历,使用object.defineProperty把这些属性转为getter/setter,
2) 每个组件实例都对应有一个watcher实例,在实例渲染时记录这些属性,在setter触发时重新渲染
3) Vue2无法检测对象的添加和删除
4) 不允许动态添加跟级别的响应式属性,可以使用Vue.set(this.obj, ‘a’, 1)方法向嵌套对象添加响应式属性
3、 vue 组件间的通信方式
1) 父子组件props/parent/ref
2) on on 监听事件eventbus
var event = new Vue()//定义一个空的vue实例
Event.$emit(‘m-click’, ‘dianji’);//A
Event.$on(‘m-click), (msg)=>{ //B
this.name=’msg’
})
A传值给event,B监听enent的m-click事件,当A触发事件的时候,B就会触发方法替换页面的值
3) vuex
4、 props 字符串数组形式和对象形式的区别
1) 数组形式:props:[‘name1’,’name2’],可以作为字组件的一个变量使用 2) 对象形式: props:{name:{type:string,default:’value’}},可以规定传输值的数据类型和默认值,但不能作为内部变量使用
5、 对 this 的理解
1) this默认情况下指向全局,如果函数被对象调用,则指向此对象,构造函数调用,this指向new出来的新对象
2) 箭头函数中,箭头函数没有自己的this,指向定义他时所处的对象
如果有哪里描述不准确或者有问题,欢迎大佬指正!
(≖ᴗ≖)✧