概念
每个模块都可以写成三个对象,分别是 M、V、C
- M-Model(数据模型) 负责操作所有数据
- V-View(视图)负责所有UI 界面
- C-Controller(控制器 负责其他
模块化就是把一个功能放到一个模块里
面试就翻译一下名词
怎么个MVC法
- 可以使用 export default x 将一个变量默认导出给外部使用
- 可以使用 import x from './xxx.js' 引用另一个模块导出的默认变量
- 可以使用 import {x} from './xxx.js' 引用另一个模块导出的名为 x 的变量
eventBus:
- eventBus 提供了 on、off 和 trigger 等 API,on 用于监听事件,trigger 用域触发事件
- eventBus 主要用于对象间通信
- 使用 eventBus 可以满足最小知识原则,m 和 v 互相不知道对方的细节,但是却可以调用对方的功能
表驱动编程:
- 表指的是哈希表
- 表驱动编程可以减少重复代码,只讲重要的信息放在表里,然后利用表来编程
新的知识点:
- 引入css:以前 link --> 现在 js : import ./a.css
- 引用jQuery: 以前 script 加 jQuery CDN --> 现在 先 (
yarn init)yarn add jquery或者npm i jquery,再import $ from 'jquery'($可以随意替换)
经验
- 永远不要用js操作css
- $.li.siblings()找到li的同级(兄弟姐妹)元素
- 模块化:把html也放进js里
- 事件监听不能有空格 a.on('x xx') 不可以