前端面试(三)

一、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

https://router.vuejs.org/zh/

五、有没有对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吗

https://d3js.org/

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值