面试记录

1/17/2021 面试

# 面试记录

# 什么是闭包

  • 概念:闭包是能访问其他函数作用域变量的函数
  • 创建闭包:一个函数嵌套另一个函数,并返回内部函数
  • 作用域:函数内部有一个作用域,函数执行后作用域就会被清理、内存也随之回收,但是闭包拥有访问上级作用域中的变量的权限,即使上级函数执行完后作用域内的值也不会被销毁。
  • 闭包解决了什么问题:由于闭包可以缓存上级作用域,使得函数外部打破了“函数作用域”的束缚,可以访问函数内部的变量。
  • 应用场景:一个Ajax请求的成功回调,一个事件绑定的回调方法,一个setTimeout的延时回调,或者一个函数内部返回另一个匿名函数
  • 缺点:由于闭包会缓存上级作用域的变量,导致无法被垃圾回收机制进行回收,会增加内存的使用,导致内存泄露。

# let与var的区别

  • let声明局部变量,var声明全局变量
  • var声明的变量存在变量提升,可以在声明前访问到
  • let不允许重复声明,var可以

# mvc与mvvm的区别

是两种不同的架构模式,都是为了对业务进行分层,区分职能

  • mvc view发送指令到controller,controller完成业务逻辑后改变model状态,model将新的数据发送至view,用户得到反馈。mvc是单向数据流
  • mvvm view和viewModel使用数据绑定和事件进行通信,view的变化会自动同步到viewModel,viewModel还公开了model,viewModel上的model和属性通过双向数据绑定进行同步和更新。

#

let var 的区别, mvc,mvvm的区别, 原型,原型链, 两个构造函数实现继承的方式, vue router nginx 要添加什么特殊配置 解决什么问题, 盒模型, promise , ssr, webpack基本配置,hook, vuex,

rudex, 响应式布局实现方式, v-modal实现原理, 虚拟dom树, 箭头函数 普通函数 区别,vue 异步组件, vue key

Last Updated: 3/20/2024, 8:15:43 AM
강남역 4번 출구
Plastic / Fallin` Dild