2019.1.7号面试准备

1.mvc与mvp与mvvm模式

MVC (应用程序的分层开发)

Model的核心是数据的抽象,Controller是从抽象数据到呈现数据的转化逻辑,View则是单纯的渲染呈现数据完成用户交互。同时Controller还可以由底层到顶层进行更细致的逻辑拆分

react用的就是MVC框架  也就是单向数据流

优点:所有数据变化有迹可循,缺点:代码量大。数据流转过程长

  • view层传送指令到controller层
  • controller完成业务逻辑,要求Model改变状态
  • Model将新的数据发到View层,用户得到反馈

所有通信都是单向

MVP

我们普通写的代码都是mvp模式

特点:操作DOM节点

view收到响应,反馈给p层

p层向m层拿数据

m层返还p层 p层作出逻辑计算反馈给v层

mv层不交流  其余部分通信是双向的

MVVM

vue使用的就是mvvm模式

特点:不造作Dom节点,代码量小。缺点:数据无迹可寻,特别大项目,数据多项改动让人头疼

与mvp的区别就是 p层变成vm层

v层数据的波动,自动反应在vm层,从而引起m层数据变化 反之依然

vm层由vue实现  主要是dom复用和es5中一个api object.defindproper()

 2.单页应用与多页应用的区别

多页应用:

优点:对SEO搜索引擎比较友好,首屏请求快

缺点:页面切换慢(每次切换页面要http请求服务器)

单页应用:

缺点:对SEO不友好。首页请求慢

优点:页面切换快  // 解决方案  ssr服务器端渲染


3.传统http请求与ajax请求的区别

http请求

传统的请求发出者是一个页面,浏览器接受到服务器的响应后要刷新整个页面

(即使是页面中一小部分需要更新),并且,发出请求的那个页面同时会处于

不可用状态,等待数据刷新。

ajax请求

ajax的异步请求的发起者是页面中的一个httprequest对象(可以是页面中任何元素),

页面本身的显示和操作在请求和接受数据的过程中不受到影响。浏览器接收到服务

器的响应后传递给对应的处理函数,由函数决定做什么

是什么:

是一种运用于浏览器的技术,它可以在浏览器与服务器之间使用异步通信机制进行数据通信,

从而允许浏览器向服务器获取少量信息而不是刷新整个页面。

是一种发送http请求的一种方式

两者本质区别:

1.

  • AJAX通过xmlHttpRequest对象请求服务器服务器接受请求返数据实现刷新交互
  • 普通http请求通过httpRequest对象请求服务器接受请求返数据需要页面刷新

2.

  ajax非阻塞异步,页面在请求过程中处于可操作状态

posted @ 2020-01-07 01:36  容忍君  阅读(208)  评论(0)    收藏  举报