摘要: 什么是MVVM? MVVM(模型-视图-视图模型,Model-View-ViewModal)是一种架构模式,并非一种框架,它是一种思想,一种组织与管理代码的艺术。它利用数据绑定,属性依赖,路由事件,命令等特性实现高效灵活的架构 一个事件发生的过程: 1、用户在视图 V 上与应用发生交互 2、VM 触 阅读全文
posted @ 2017-09-04 23:57 刘彦佐 阅读(2703) 评论(1) 推荐(1) 编辑
摘要: 假如面试回答js的运行机制时,你可能说出这么一段话:“Javascript的事件分同步任务和异步任务,遇到同步任务就放在执行栈中执行,而碰到异步任务就放到任务队列之中,等到执行栈执行完毕之后再去执行任务队列之中的事件。”但你能说出背后的原因吗? 先理解相关概念 线程与进程 进程:是系统资源分配和调度 阅读全文
posted @ 2017-08-13 15:02 刘彦佐 阅读(936) 评论(1) 推荐(2) 编辑
摘要: 本文比较长,有些没有详细介绍的将会拆分出来在新的博客中。 网络层次划分 OSI参考模型: 除了标准的OSI七层模型以外,常见的网络层次划分还有TCP/IP四层协议以及TCP/IP五层协议,它们之间的对应关系如下图所示: OSI七层网络模型 物理层:关注一条通信信道上传输原始比特,设计问题主要是硬件方 阅读全文
posted @ 2017-08-10 16:33 刘彦佐 阅读(1672) 评论(2) 推荐(4) 编辑
摘要: TCP/IP协议是Internet最基本的协议。由传输层的TCP协议和网络层的IP协议组成。 TCP负责发现传输的问题,一有问题就发出信号,要求重新传输,直到所有数据安全正确地传输到目的地。而IP是给因特网的每一台联网设备规定一个地址。 TCP/IP协议族的分层管理 TCP/IP协议族按层次分别分为 阅读全文
posted @ 2017-08-08 00:18 刘彦佐 阅读(14607) 评论(0) 推荐(0) 编辑
摘要: MVC是什么? MVC是一种架构模式,它将应用抽象为3个部分:模型(数据)、视图、控制器(分发器)。 本文将用一个经典的例子todoList来展开(代码在最后)。 一个事件发生的过程(通信单向流动): 1、用户在视图 V 上与应用程序交互 2、控制器 C 触发相应的事件,要求模型 M 改变状态(读写 阅读全文
posted @ 2017-07-24 23:02 刘彦佐 阅读(9687) 评论(0) 推荐(1) 编辑
摘要: 导读: 这篇文章比较长,介绍了数组常见的操作方法以及一些注意事项,最后还有几道经典的练习题(面试题)。 数组的定义: JavaScript 中的数组是一种特殊的对象,用来表示偏移量的索引是该对象的属性,索引可能是整数。然而,这些数字索引在内部被转换为字符串类型,这是因为 JavaScript 对象中 阅读全文
posted @ 2016-08-11 01:50 刘彦佐 阅读(1593) 评论(0) 推荐(6) 编辑
摘要: 快速排序,又称划分交换排序。以分治法为策略实现的快速排序算法。 本文主要要谈的是利用javascript实现in-place思想的快速排序 分治法: 在计算机科学中,分治法是建基于多项分支递归的一种很重要的算法范式。字面上的解释是“分而治之”,就是把一个复杂的问题分成两个或更多的相同或相似的子问题, 阅读全文
posted @ 2016-08-07 01:43 刘彦佐 阅读(12380) 评论(3) 推荐(2) 编辑
摘要: 在团队带人,突然被人问到轮播图如何实现,进入前端领域有一年多了,但很久没自己写过,一直是用大牛写的插件,今天就写个简单的适合入门者学习的小教程。当然,轮播图的实现原理与设计模式有很多种,我这里讲的是用面向过程函数式编程去实现,相对于面向对象设计模式,代码难免会显得臃肿冗余。但没有面向对象的抽象却很适 阅读全文
posted @ 2016-07-17 23:34 刘彦佐 阅读(194381) 评论(49) 推荐(36) 编辑
摘要: 最近重新玩起了node,便总结下基本的东西,在本文中通过node的superagent与cheerio来抓取分析网页的数据。 目的 superagent 抓取网页 cheerio 分析网页 准备 Node(我的6.0) 三个依赖, express(4X),superagent 和 cheerio。 阅读全文
posted @ 2016-05-18 15:05 刘彦佐 阅读(3209) 评论(3) 推荐(0) 编辑
摘要: 一个腾讯在职的朋友问道,当我们在浏览器的地址栏输入 www.baidu.com ,然后回车,这一瞬间页面发生了什么?下面以谷歌浏览器一一解释. 一.域名解析 首先Chrome浏览器会解析www.baidu.com 这个域名对应的IP地址。 1 浏览器搜索自身的DNS缓存,看是否有www.baidu. 阅读全文
posted @ 2016-04-24 20:56 刘彦佐 阅读(7254) 评论(0) 推荐(2) 编辑