MVC是什么?

MVC是一种设计模式
M是Module,是数据层 ,专门管理数据的地方
V是View,是视图层,操作界面及交互的地方
C是control,是控制器,其他操作封装在这里

  1. let m = {
  2. 数据1,
  3. 数据2
  4. }
  5. let v = {
  6. 生成页面标签,
  7. 渲染到页面
  8. }
  9. let c = {
  10. 计算数据,
  11. 计算其他逻辑
  12. }

EventBus 有哪些 API,是做什么用的?

on, 用来绑定事件

  1. eventBus.on(事件1,回调函数1)

trigger,用来触发事件

  1. eventBus.trigger(事件2)

off,解除绑定事件

  1. eventBus.off(事件3)

表驱动编程

表驱动编程是利用数组的索引、表的key来访问对应的值的方式
代替—>
普通数据结构下,对数据做判断和筛选的方式
小于75分,就是差,大于75小于90时中等,大于90就是优
普通方式:

  1. let a1 = '周一'
  2. let a2 = '周二'
  3. let a3 = '周三'
  4. let a4 = '周四'
  5. let a5 = '周五'
  6. let a6 = '周六'
  7. let a7 = '周日'
  8. let day = 6
  9. if(day == 1){
  10. console.log(a1)
  11. }...else if(dat==7){
  12. console.log(a7)
  13. }

表驱动方式:

  1. let a = {1:'周一',2:'周二',3:'周三',4:'周四',5:'周五',6:'周六',7:'周日',}
  2. let day = 6
  3. console.log(a[day])

模块化

当程序越来越复杂,耦合度越高,越难以维护。这就需要模块化编程。
将一堆函数封装在一个对象中,就算是一个模块。将几个模块放在一个文件里,这个文件也是一个模块。
在vue里,就是以模块为单位来组合的,每一个模块都有html部分,css部分和js部分。
根据网上资料,有下面各种模块化方案
1 IIFE立即执行函数就是一个模块,函数作用域被封闭,不受外界影响。
2 AMD异步模块定义。require.js是AMD规范的实现。
3 CMD是用于浏览器端的模块化。支持动态引入依赖文件。
4 CommonJS,支持它的实现有Node,webpack。每个文件都是一个模块,有自己的作用域。
5 UMD,通用模块定义规范。可以让同一个代码模块在CommonJs,CMD,AMD项目中运行。
6 从ES6开始JavaScript原生支持模块化了。
模块化的好处,避免命名冲突、按需加载、高复用性、高可维护性。

资料来源:饥人谷