原文:动手实现一个单页面应用

前言 在单页面应用程序中,前后端采用了完全分离的方法,因此在前端实现路由的切换非常的重要。同时前端实现路由可以减少请求数,缓解后端的压力。在单页面中的路由主要有两种实现方法,一种是通过h 的history api来实现,还有一种是hash来实现。 history history的方法主要是应用了几个H 的histroy API: API window.pushState stateData, ti ...

2018-05-29 16:09 0 1721 推荐指数:

查看详情

自己动手实现一个简单的 IOC容器

控制反转,即Inversion of Control(IoC),是面向对象中的一种设计原则,可以用有效降低架构代码的耦合度,从对象调用者角度又叫做依赖注入,即Dependency Injection(DI),通过控制反转,对象在被创建的时候,由一个调控系统内所有对象的容器,将其所依赖的对象的引用 ...

Sun Nov 01 03:03:00 CST 2020 0 1587
自己动手实现一个阻塞队列

1. 阻塞队列介绍 顾名思义,阻塞队列是一个具备先进先出特性的队列结构,从队列末尾插入数据,从队列头部取出数据。而阻塞队列与普通队列的最大不同在于阻塞队列提供了阻塞式的同步插入、取出数据的功能(阻塞入队put/阻塞出队take)。 使用put插入数据时,如果队列空间已满 ...

Thu Apr 22 03:55:00 CST 2021 3 676
自己动手系列——实现一个简单的LinkedList

LinkedList与ArrayList都是List接口的具体实现类。LinkedList与ArrayList在功能上也是大体一致,但是因为两者具体的实现方式不一致,所以在进行一些相同操作的时候,其效率也是有差别的。 对于抽象的数据结构——线性表而言,线性表分为两种,一种是顺序存储结构的顺序表 ...

Wed Feb 15 23:49:00 CST 2017 2 5340
自己动手系列——实现一个简单的ArrayList

ArrayList是Java集合框架中一个经典的实现类。他比起常用的数组而言,明显的优点在于,可以随意的添加和删除元素而不需考虑数组的大小。处于练的目的,实现一个简单的ArrayList,并且把实现的过程在此记录。 实现的ArrayList主要的功能如下: 默认构造器和一个参数的有参 ...

Wed Feb 08 20:12:00 CST 2017 4 5896
自己动手实现一个MVVM库

我们知道的,常见的数据绑定的实现方法 1、数据劫持(vue):通过Object.defineProperty() 去劫持数据每个属性对应的getter和setter2、脏值检测(angular):通过特定事件比如input,change,xhr请求等进行脏值检测。3、发布-订阅模式 ...

Wed Jun 07 09:11:00 CST 2017 3 5269
动手实现一个简单的 rpc 框架到入门 grpc (上)

rpc 全称 Remote Procedure Call 远程过程调用,即调用远程方法。我们调用当前进程中的方法时很简单,但是想要调用不同进程,甚至不同主机、不同语言中的方法时就需要借助 rpc 来实现,下面我一步步实现一个简单的 rpc 调用。 server 端注册函数,运行并接收客户端请求 ...

Thu Jul 09 00:30:00 CST 2020 0 556
自己动手实现一个简单的JSON解析器

1. 背景 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。相对于另一种数据交换格式 XML,JSON 有着诸多优点。比如易读性更好,占用空间更少等。在 web 应用开发领域内,得益于 JavaScript 对 JSON 提供的良好支持,JSON ...

Fri Jan 26 17:44:00 CST 2018 1 2232
动手实现一个网页加载进度loading》

loading随处可见,比如一个app经常会有下拉刷新,上拉加载的功能,在刷新和加载的过程中为了让用户感知到 load 的过程,我们会使用一些过渡动画来表达。最常见的比如“转圈圈”,“省略号”等等。 网页loading有很多用处,比如页面的加载进度,数据的加载过程等等,数据的加载 ...

Wed Jan 04 19:25:00 CST 2017 1 20727
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM