前端基础知识3

了解es6吗?

了解.

1、class 类的继承ES6中不再像ES5一样使用原型链实现继承,而是引入Class这个概念

2、async、await。使用 async/await, 搭配promise,可以通过编写形似同步的代码来处理异步流程, 提高代码的简洁性和可读性。async 用于申明一个 function 是异步的,而 await 用于等待一个异步方法执行完成。

3、Promise是异步编程的一种解决方案,比传统的解决方案(回调函数和事件)更合理、强大 。

4、Symbol是一种基本类型。Symbol 通过调用symbol函数产生,它接收一个可选的名字参数,该函数返回的symbol是唯一的 。

5、Proxy代理使用代理(Proxy)监听对象的操作,然后可以做一些相应事情 。

6、Set是类似于数组的数据集合,无序,插入删除速度快,元素不重复,查找速度快。

7、Map是一个类似对象的数据结构,和对象不同的在于它的key可以是任意类型,但是对象只能使用 string和symbol类型,Map的存储关联性更强 。

8、生成器函数可以进行阻断函数执行的过程,通过传参可以传入新的值进入函数继续执行,可以用于将异步变为阻塞式同步。

说说你对Promise的理解 

 Promise是一个对象,从它可以获取异步操作的消息。

Promise有两个特点:(1)对象的状态不受外界影响。Promise有三种状态,分别是pending(进行中)、resolved(已成功)、rejected(已失败)。

(2)一旦状态改变,就不会在变,任何时候都可以得到这个结果。状态改变只有两种情况:

  • pending -> resolved
  • pending -> rejected

async await怎么实现?

async、await是基于Generator对Promise进行封装后的函数,返回一个Promise对象,并await暂停等待Promise执行resolve的结果。实际上async/await是Generator的一个语法糖 。

map和set 

Set是类似于数组的数据集合,无序,插入删除速度快,元素不重复,查找速度快。

Map是一个类似对象的数据结构,和对象不同的在于它的key可以是任意类型,但是对象只能使用 string和symbol类型,Map的存储关联性更强 。

vue路由hash模式和history模式的区别 

  1. hash模式的url中带有#号,history模式中没有。
  2. hash模式的兼容性更好
  3. hash实际的url之前使用哈希字符,这部分url不会发送到服务器,不需要在服务器层面上进行任何处理,history每访问一个页面都需要服务器进行路由匹配生成 html 文件再发送响应给浏览器,消耗服务器大量资源.
  4. hash刷新不会存在 404 问题,history浏览器直接访问嵌套路由时,会报 404 问题。
  5. hash不需要服务器任何配置,history需要在服务器配置一个回调路由.

history刷新为何会出现404? 

history 进行刷新页面时,无法找到url对应的页面,会出现 404 问题。因为域名后面的路由是由前端控制的,后端只能保留域名部分,所以就会造成页面丢失的问题。

需要服务器端添加一个回退路由,就能解决该问题了。 

Vue响应式原理 

在vue中使用observer和definereactive两个方法的结合对数据进行递归劫持,然后通过 watch这个类来对属性进行订阅,Dep类用于解耦合,当数据变更的时候先触发数据的set方法,然后调用 Dep.notiify通知视图更新 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zwq8023520

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值