// 根据状态获取数据// 状态为:type// 状态值为:goods,商品数据// 状态值为:user,用户数据// 状态值为:cart,购物车数据// 常规写法:// if( type === "cart" ){}// 高级写法:const api ={goods(){return"获取商品数据"},user(){return"获取用户数据"},cart(){return"获取购物车数据"},order(){return"获取订单数据"}}let type ="abc";// 配合异常捕获语法,捕获可能出现的报错try{
api[type]();}catch(err){
console.log(err)}
九、MVC模式
MVC模式,全名:Model View Controller,模型、视图、控制器
M:模型:按照要求来取出数据
V:视图:用户直观看到的页面
C:控制器:向系统发出指令的工具
工作流程:
浏览器,调用控制器,对他发出指令
控制器,按指令选取一个合适的模型
模型,按控制器指令取出相应的数据
控制器,按指令取出相应的视图
把第三步取到的数据按照用户想要的样子在视图显示出来
优势:
耦合低,复用性高
如:轮播图
模型:图片数据
视图:轮播图如何切换(左右,上下,淡入淡出)
控制器:核心功能(绑定事件,切换索引,调取数据,调取视图)
functionModel(){this.m1=function(){return"hello"}this.m2=function(){return"world"}this.m3=function(){return"123"}this.m4=function(){return"hahaha"}}functionView(){this.v1=function(d){
console.log(d);}this.v2=function(d){alert(d)}this.v3=function(d){
document.write(d)}}functionControl(){const m =newModel()const v =newView()this.c1=function(){const d = m.m1();
v.v2(d);}this.c2=function(){const d = m.m4();
v.v1(d);}this.c3=function(){const d = m.m2();
v.v3(d);}this.c4=function(){const d = m.m2();
v.v1(d);}}const c =newControl();
c.c1();
c.c2();