<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Holzpp的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Holzpp</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Holzpp]]></copyright><item><title><![CDATA[JavaScript设计模式系列七：装饰者模式]]></title><link>https://blog.youkuaiyun.com/Holzpp/article/details/79331981</link><guid>https://blog.youkuaiyun.com/Holzpp/article/details/79331981</guid><author>Holzpp</author><pubDate>Sat, 17 Feb 2018 11:52:02 +0800</pubDate><description><![CDATA[装饰者模式

装饰者模式提供比继承更有弹性的替代方案。装饰者用于包装同接口的对象，用于通过重载方法的形式添加新功能，该模式可以在被装饰者的前面或后面加上自己的行为以达到特定的目的。 
简单的理解：给对象动态添加职责的方式称为装饰着模式。 
举一个简单的例子：



var xiaoming = function () {
  this.run = function () {
    return ...]]></description><category></category></item><item><title><![CDATA[JavaScript设计模式系列六：桥接模式]]></title><link>https://blog.youkuaiyun.com/Holzpp/article/details/79316536</link><guid>https://blog.youkuaiyun.com/Holzpp/article/details/79316536</guid><author>Holzpp</author><pubDate>Mon, 12 Feb 2018 14:21:52 +0800</pubDate><description><![CDATA[桥接模式桥接（Bridge）是用于把抽象化与现实化解耦，使得二者可以独立变化，这种类型的设计模式属于结构型模式，它通过提供抽象化和现实化之间的桥接结构，实现二者的解耦。]]></description><category></category></item><item><title><![CDATA[JavaScript设计模式系列五：适配器模式]]></title><link>https://blog.youkuaiyun.com/Holzpp/article/details/79127338</link><guid>https://blog.youkuaiyun.com/Holzpp/article/details/79127338</guid><author>Holzpp</author><pubDate>Mon, 29 Jan 2018 00:11:24 +0800</pubDate><description><![CDATA[什么是适配器模式

所谓 适配器模式 就是用一个新的接口对现有的接口进行包装，处理类与API的不匹配。使用这种模式的对象又叫作包装器。 
比如我们有一个接口：



function api (x1, x2, x3) {
  console.log(x1 + x2 + x3);  // 用console.log来模拟接口的相关操作
}

然后我们有一个对象数据：



var obj = {]]></description><category></category></item><item><title><![CDATA[JavaScript设计模式系列四：原型模式]]></title><link>https://blog.youkuaiyun.com/Holzpp/article/details/79117885</link><guid>https://blog.youkuaiyun.com/Holzpp/article/details/79117885</guid><author>Holzpp</author><pubDate>Sun, 21 Jan 2018 01:12:24 +0800</pubDate><description><![CDATA[什么是原型模式原型模式 （Prototype pattern）：通俗点讲就是创建一个共享的原型，并通过拷贝这些原型创建新的对象。用于创建重复的对象，这种类型的设计模式属于创建型模式，它提供了一种创建对象的不错选择。]]></description><category></category></item><item><title><![CDATA[利用原生js封装一个ajax api（一）]]></title><link>https://blog.youkuaiyun.com/Holzpp/article/details/79058130</link><guid>https://blog.youkuaiyun.com/Holzpp/article/details/79058130</guid><author>Holzpp</author><pubDate>Sun, 14 Jan 2018 18:26:36 +0800</pubDate><description><![CDATA[如何用原生js去实现一个ajax请求，以及如何自己封装一个ajax api，在这篇文章中我们会先做前提准备，了解如何用原生js实现一个Ajax请求，在下一篇中，了解如何封装一个ajax api]]></description><category></category></item><item><title><![CDATA[__proto__与prototype的理解]]></title><link>https://blog.youkuaiyun.com/Holzpp/article/details/79039897</link><guid>https://blog.youkuaiyun.com/Holzpp/article/details/79039897</guid><author>Holzpp</author><pubDate>Fri, 12 Jan 2018 02:47:26 +0800</pubDate><description><![CDATA[这篇文章主要 解决的问题 是：什么是__proto__？什么是prototype？他们的关系是什么？在原型链中扮演什么角色？]]></description><category></category></item><item><title><![CDATA[JavaScript数据类型]]></title><link>https://blog.youkuaiyun.com/Holzpp/article/details/79039792</link><guid>https://blog.youkuaiyun.com/Holzpp/article/details/79039792</guid><author>Holzpp</author><pubDate>Fri, 12 Jan 2018 00:30:59 +0800</pubDate><description><![CDATA[这篇文章主要 解决的问题 为： js的基本类型有那些？引用类型有哪些？ 基本类型和引用类型有什么区别？null和undefined的区别？ 哪一个存在堆上面，哪一个存在栈上面。]]></description><category></category></item><item><title><![CDATA[移动端overflow问题]]></title><link>https://blog.youkuaiyun.com/Holzpp/article/details/78945327</link><guid>https://blog.youkuaiyun.com/Holzpp/article/details/78945327</guid><author>Holzpp</author><pubDate>Mon, 01 Jan 2018 13:39:30 +0800</pubDate><description><![CDATA[在项目开发中，我们有时候需要实现元素从屏幕外移动到屏幕内的效果。我们一般会有这样的方案： 
先通过position: absolution或transform: translate() 使得元素移动到屏幕之外，然后给父元素添加overflow: hidden属性禁止滚动，在给元素加过渡或动画，使它移动进来。问题但是如果你的页面是移动端页面的话，你会发现有时候会出现overflow:hidden失效的]]></description><category></category></item><item><title><![CDATA[数据结构JavaScript描述（二）]]></title><link>https://blog.youkuaiyun.com/Holzpp/article/details/78869098</link><guid>https://blog.youkuaiyun.com/Holzpp/article/details/78869098</guid><author>Holzpp</author><pubDate>Fri, 22 Dec 2017 01:09:29 +0800</pubDate><description><![CDATA[在上一篇文章中，我们了解了队列和栈的JavaScript描述，现在让我们来了解一下   单链表 和双向链表 的实现。


  本系列文章的代码可在https://github.com/HolyZheng/-JavaScript-找到。


我们直入话题：



单链表

单链表 是存储结构的一种，它具有以下特点：

单链表的特点：


单链表不可随机访问
单链表不需要占连续的存储空间，可动态分配]]></description><category></category></item><item><title><![CDATA[数据结构JavaScript描述（一）]]></title><link>https://blog.youkuaiyun.com/Holzpp/article/details/78868407</link><guid>https://blog.youkuaiyun.com/Holzpp/article/details/78868407</guid><author>Holzpp</author><pubDate>Thu, 21 Dec 2017 22:20:26 +0800</pubDate><description><![CDATA[本文主要用JavaScript实现一些常用的数据结构，并带上相应的讲解相应的数据结构有：
队列
栈
单链表
双向链表
二叉树  相应代码已上传GitHub地址：https://github.com/HolyZheng/-JavaScript-   。
本文先给大家介绍队列和栈，其他的在后续的文章中给大家带来。队列队列 的概念应该不用多说了吧，一句话：先进先出（first in first out），]]></description><category></category></item><item><title><![CDATA[JavaScript设计模式系列一：工厂模式]]></title><link>https://blog.youkuaiyun.com/Holzpp/article/details/78867838</link><guid>https://blog.youkuaiyun.com/Holzpp/article/details/78867838</guid><author>Holzpp</author><pubDate>Thu, 21 Dec 2017 21:16:37 +0800</pubDate><description><![CDATA[设计模式设计模式（design pattern）概念： 
是一套反复使用、思想成熟、经过分类和无数实战设计经验的总结。是为了代码可重用、可扩展、可解耦、更容易被人理解和保证代码可靠性。设计模式共有23种，我今天先来了解一下工厂模式（Factory Pattern)，其他的模式将会在后续的博客中陆续为大家讲解。
  前言：本系列代码已上传GitHub地址https://github.com/HolyZ]]></description><category></category></item><item><title><![CDATA[JavaScript设计模式系列二：单例模式]]></title><link>https://blog.youkuaiyun.com/Holzpp/article/details/78867495</link><guid>https://blog.youkuaiyun.com/Holzpp/article/details/78867495</guid><author>Holzpp</author><pubDate>Thu, 21 Dec 2017 20:37:18 +0800</pubDate><description><![CDATA[单例模式
  前言：本系列代码实现可在GitHub地址 JS设计模式代码实现 上找到，欢迎前来查看。
什么是单例模式？单例模式的定义：一个类仅有一个实例，并且可以在全局访问。 
什么时候需要用到单例模式呢？其实单例模式在日常开发中的使用非常的广泛，例如各种浮窗、像登录浮窗等，无论我们点击多少次，都是同一个浮窗，浮窗从始至终只创建了一次。这种场景就十分适合运用单例模式。代码实现我们创建一个“最老的人”]]></description><category></category></item><item><title><![CDATA[JavaScript设计模式系列三：建造者模式]]></title><link>https://blog.youkuaiyun.com/Holzpp/article/details/78859156</link><guid>https://blog.youkuaiyun.com/Holzpp/article/details/78859156</guid><author>Holzpp</author><pubDate>Thu, 21 Dec 2017 00:54:29 +0800</pubDate><description><![CDATA[建造者模式建造者模式（builder pattern）比较简单，它属于创建型模式的一种，将一个复杂的对象分解成多个简单的对象来进行构建，将复杂的构建层与表示层分离，使得相同的构建过程可以创建不同的表示的模式便是建造者模式。优点
建造者模式的封装性很好，对象本身与构建过程解耦。
建造者模式很容易进行扩展。如果有新的需求，通过实现一个新的建造者类就可以完成。
适用场景需要生成的对象具有复杂得内部结构；且]]></description><category></category></item><item><title><![CDATA[构建基于Node.js的web应用]]></title><link>https://blog.youkuaiyun.com/Holzpp/article/details/78472500</link><guid>https://blog.youkuaiyun.com/Holzpp/article/details/78472500</guid><author>Holzpp</author><pubDate>Tue, 07 Nov 2017 21:02:12 +0800</pubDate><description><![CDATA[构建应用的模块
（参考书籍《node入门》)
在写Node.js应用的时候我们不仅要知道如何写代码，还要知道如何组织这些代码。
下面我们来看一个简单的基于Node.js的web应用，以此来学习如何组织我们项目的代码，这个应用的主要功能是上传图片，并在浏览器中展示出来。我们来看看整个应用结构：
project
+----node_modules
|----router.js
|----]]></description><category></category></item><item><title><![CDATA[项目中模拟服务器响应与实现异步请求(react)]]></title><link>https://blog.youkuaiyun.com/Holzpp/article/details/78241477</link><guid>https://blog.youkuaiyun.com/Holzpp/article/details/78241477</guid><author>Holzpp</author><pubDate>Sun, 15 Oct 2017 16:11:57 +0800</pubDate><description><![CDATA[前后端分离
mock.js
    最近在写一个用react全家桶开发的项目时，由于项目部分功能需要向后台请求数据，所以在项目中引入了mock.js。
    首先，简单说说什么是mock.js： 
           mock.js是一款前端开发中，拦截ajax请求，生产随机数据来模拟服务器响应的工具。有了它，我们就可以脱离后端进行开发，通过自己写模拟数据，给代码中的aja]]></description><category></category></item></channel></rss>