I am ne zha / Jeskson

Results 131 comments of I am ne zha / Jeskson

MVC: Model-View-Controller MVP: Model-View-Presenter MVVM: Model-View-ViewModel

MVC把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller) 模型(Model):数据库相关的操作、文件的访问和数据结构等。 视图(View):专注于显示,如Web前端(HTML/CSS/Java Script) 控制器(Controller):连接模型和视图,如把视图的请求发送给模型或把数据返回给视图等 MVC只是一种框架模式,针对不同的平台环境的实现方式会有些区别 MVC的实现了视图和模型的分离,避免了视图和模型糅合在一起,当视图改变的时候只要业务逻辑没变不需要改变模型;但是它有一个缺点缺点是因为MVC中的控制器并不能直接更新视图,所以MVC并不能实现视图和模型的完全分离,视图依然依赖模型的数据(数据结构)来显示,也就是说视图依赖模型。 MVP是针对MVC的缺点而进行了改进,它把软件系统分为三个基本部分:模型(Model)、视图(View)和展示器(Presenter) 模型(Model):数据库相关的操作、文件的访问和数据结构等。 视图(View):专注于显示,如Web前端(HTML/CSS/Java Script) 展示器(Presenter):连接模型和视图,处理视图的请求并根据模型更新视图。 MVP用展示器代替了控制器,而展示器是可以直接更新视图,所以MVP中展示器可以处理视图的请求并递送到模型又可以根据模型的变化更新视图,实现了视图和模型的完全分离。 MVVM是MVP更进一步的发展,把软件系统分为三个基本部分:模型(Model)、视图(View)和视图模型(ViewModel) 模型(Model):数据库相关的操作、文件的访问和数据结构等。 视图(View):专注于显示,如Web前端(HTML/CSS/Java Script) 视图模型(ViewModel):连接模型和视图,视图模型和视图是双向绑定的。 MVVM用视图模型代替了MVP中的展示器,视图模型和视图实现了双向绑定,当视图发生变化的时候视图模型也会发生改变,当视图模型变化的时候视图也随之变化。

```js var imgs = new Image(); imgs.crossOrigin = "Anonymous"; //注意存放顺序 imgs.src = "http://192.168.0.107/ZHCX/CGZSIMG/1.jpg"; imgs.onload = function () { var canvas = document.createElement('canvas'); canvas.width = imgs.width; canvas.height = imgs.height; var ctx...

你或许还听说过服务器端(server-side)和 客户端(client-side)代码这两个术语,尤其是在web开发时。客户端代码是在用户的电脑上运行的代码,在浏览一个网页时,它的客户端代码就会被下载,然后由浏览器来运行并展示。这就是客户端 JavaScript。 而服务器端代码在服务器上运行,接着运行结果才由浏览器下载并展示出来。流行的服务器端 web 语言包括:PHP、Python、Ruby、ASP.NET 以及...... JavaScript!JavaScript 也可用作服务器端语言,比如现在流行的 Node.js 环境

在用户没有与因特网连接时,可以正常访问站点或应用,在用户与因特网连接时,更新用户机器上的缓存文件 原理:HTML5的离线存储是基于一个新建的.appcache文件的缓存机制(不是存储技术),通过这个文件上的解析清单离线存储资源,这些资源就会像cookie一样被存储了下来。之后当网络在处于离线状态下时,浏览器会通过被离线存储的数据进行页面展示 如何使用: 页面头部像下面一样加入一个manifest的属性; 在cache.manifest文件的编写离线存储的资源 在离线状态时,操作window.applicationCache进行需求实现 ```js CACHE MANIFEST #v0.11 CACHE: js/app.js css/style.css NETWORK: resourse/logo.png FALLBACK: /offline.html ```

使用Array构造函数 使用字面量表示法

virtual dom,也就是虚拟节点,它通过JS的Object对象模拟DOM中的节点,然后再通过特定的render方法将其渲染成真实的DOM节点。 新旧虚拟dom的差异比较方法称为diff算法 简单的说就是新旧虚拟dom 的比较,如果有差异就以新的为准,然后再插入的真实的dom中,重新渲染 特点: 只会做同级比较,不做跨级比较

实现:使用 Vue.mixin,给组件每个生命周期,注入一些公共逻辑 核心是 mergeOption 语法: ```js Vue.mixin( data() { return { //... } }, beforeCreate() { // ... } ) ```

Object.assign方法用于对象的合并,将源对象(source)的所有可枚举属性,复制到目标对象(target)。 ```js const target = { a: 1 }; const source1 = { b: 2 }; const source2 = { c: 3 }; Object.assign(target, source1, source2); target // {a:1, b:2,...