前端面试打卡——一周记录

125 阅读2分钟

然叔前端打卡学习

周一

前端实现一个并发函数

promise中包一个settimeout,promise.all

周二

事件与发布订阅的关系

事件监听=》发布订阅:一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知,并自动更新

周三

遍历器实现

迭代器就是为实现对不同集合进行统一遍历操作的一种机制,只要给需要遍历的数据结构部署Iterator接口,通过调用该接口,或者使用消耗该接口的API实现遍历操作。

调用迭代器函数,返回一个对象,该对象就是迭代器对象,对象上拥有next方法,每一次调用next方法,都会返回数据结构的当前成员的信息。具体来说,就是返回一个包含value和done两个属性的对象。其中,value属性是当前成员的值,done属性是一个布尔值,表示遍历是否结束。

周四 2-24

订阅发布解决回调地狱

周五 2-25

什么是函数式编程

周六

什么是声明式编程

命令式编程关注的是计算机的执行步骤,需要具体设计每一步怎么计算的逻辑。

声明式编程是通过告诉函数关系,本身不涉及设计具体执行步骤,交给其他得到结果

视图和模型的关系,在运行时 进行更新解决

周日 2-27

什么是无状态和数据不可变

无状态和数据不可变Statelessness and Immutable data,是函数式编程的核心概念,为了实现这个目标,函数式编程提出函数应该具备的特性,没有副作用和纯函数。

 数据不可变: 它要求你所有的数据都是不可变的,这意味着如果你想修改一个对象,那你应该创建一个新的对象用来修改,而不是修改已有的对象。

 无状态: 主要是强调对于一个函数,不管你何时运行,它都应该像第一次运行一样,给定相同的输入,给出相同的输出,完全不依赖外部状态的变化。