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