一、mvvm的理解
model-view-viewmodel
model: 数据模型层
view: 视图层,即显示的页面
viewmodel: 视图模型层,model和view之间的桥梁
model和view之间不产生之间交互,通过viewmodel进行数据交互。它有两个方向:一是将【模型】转化成【视图】,即将后端传递的数据转化成所看到的页面。实现的方式是:数据绑定。二是将【视图】转化成【模型】,即将所看到的页面转化成后端的数据。实现的方式是:DOM 事件监听。
vue中model对应data,view对应template, viewmodel对应vm实例即new Vue({…})
https://baijiahao.baidu.com/s?id=1596277899370862119&wfr=spider&for=pc
https://segmentfault.com/a/1190000018399478
https://www.cnblogs.com/dora-zc/p/11111813.html
二、vue传值方式
父传子: props传值
子传父: $emit
兄弟组件: eventBus , vuex
三、vuex(和后端交互)
vue的状态管理工具,管理多页面共享数据的。(面试官问到了再和后退前后端交互之间怎么用,我不知道该怎么答,就回答了在项目中使用vuex存储了登录信息,在向后台提交数据时可以获取使用)
四、vue-router
五、有没有对axios进行封装
https://juejin.im/post/5b55c118f265da0f6f1aa354
https://www.cnblogs.com/panax/p/10942889.html
六、promise
promise成功,失败
Promise接受一个回调函数,回调函数接收两个参数,resolve(将Promise的状态从pending变为fulfilled,在异步操作成功时调用,并将异步操作的结果传递出去)、reject(将Promise的状态从pending变为rejected,在异步操作失败时调用,将异步操作的错误作为参数传递出去)这两个都是函数,表示成功和失败的处理函数。
promise几种状态
Promise 异步操作有三种状态:pending(进行中)、fulfilled(已成功)和 rejected(已失败)。除了异步操作的结果,任何其他操作都无法改变这个状态。
promise返回异常
https://zh.javascript.info/promise-error-handling
https://www.runoob.com/w3cnote/es6-promise.html
七、echarts/higncharts
这里只是问了一下我为什么app端和web端使用了不同的图标插件
https://www.jianshu.com/p/6ac06c9052ae
https://www.highcharts.com.cn/
https://www.echartsjs.com/zh/index.html
八、angular 和vue的区别
https://www.jianshu.com/p/a7e47abd3e79
https://www.jianshu.com/p/082808e8201b
九、angular 绑定数据方式
https://blog.csdn.net/u011321546/article/details/80743601
十、angular依赖注入
https://www.jianshu.com/p/4b10948d456c
https://segmentfault.com/a/1190000019356065?utm_source=tag-newest
十一、angular 观察者模式
https://segmentfault.com/a/1190000015640618
十二、js数据类型
基本: string number boolean null undefined
引用: object ,function, array
es6: Symbol
十三、判断js数据类型的方法,有什么区别
1、typeof 加数据直接返回数据类型,但是null,array,object 均返回为object
2、instanceof 运算符用来测试一个对象在其原型链中是否存在一个构造函数的 prototype
属性,检测某个对象是不是另一个对象的实例,返回true 或者false
可以看出instanceof无法检测基本类型,且检测函数的话只有在instanceof 其构造函数为true,直接instanceof Function也为false,
因为instanceof其实是用来检测一个对象在其原型链中是否存在一个构造函数的 prototype
属性。
无法检测null和undefined
https://blog.csdn.net/weixin_33704591/article/details/91397240
3、constructor
constructor能用于检测js的基本类型和引用类型,但当对象的原型更改之后,constructor便失效了。
https://www.w3school.com.cn/jsref/jsref_constructor_array.asp
四、Object.prototype.toString.call()
用于检测js所有的数据类型。
https://segmentfault.com/a/1190000019259209
十四、js执行机制(异步、同步)
https://juejin.im/post/59e85eebf265da430d571f89
https://www.cnblogs.com/shcrk/p/9325779.html
十五、for in, for of 的区别
http://www.fly63.com/article/detial/1444
十六、闭包
闭包就是一个能够读取到其他函数内部变量的函数。
作用:读取函数内部的局部变量,让这些局部变量始终保持在内存。
http://www.ruanyifeng.com/blog/2009/08/learning_javascript_closures.html
十七、new Function 干了什么
https://juejin.im/post/5c7d0e1ae51d4560896aee66
十八、了解D3.js吗