<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[CoderHenryLee的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/CoderHenryLee</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; CoderHenryLee]]></copyright><item><title><![CDATA[express中间件（middleware）小悟]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/91050169</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/91050169</guid><author>CoderHenryLee</author><pubDate>Thu, 06 Jun 2019 22:30:28 +0800</pubDate><description><![CDATA[所谓中间件，是什么？

个人理解，express后端服务程序主要功能是什么？那还是接受客户端发送过来的各种请求吧？
那还是处理各种请求然后发送各种响应数据给客户端浏览器吧？也不一定是浏览器哦，也可能是小程序呀。。。那么问题来了，中间件的是什么？打个比方，不知道恰不恰当，程序执行就好比污水厂处理污水一样，首先进来污水好比从客户端接受来的请求，那么对污水要进行一些列处理之后方才能合格排出吧，那么中间件...]]></description><category></category></item><item><title><![CDATA[计算属性]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/90953882</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/90953882</guid><author>CoderHenryLee</author><pubDate>Wed, 05 Jun 2019 22:00:16 +0800</pubDate><description><![CDATA[这里想说一下计算属性computed,它也是vue实例的一个属性。应用于一些情况，那就是当模板中的数据需要比较复杂的计算时候，可以采用这个computed属性进行计算，最后将结果返回到模板中。

有一点需要注意一下，computed属性和methods在某种程度上都可以完成相同的事情，但是计算属性具有缓存的作用，也就是如果计算属性中所依赖的数据没有改变，那么计算属性会得到保存，不会改变。而meth...]]></description><category></category></item><item><title><![CDATA[002-将数组a中n个整数按相反顺序存放]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/89641212</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/89641212</guid><author>CoderHenryLee</author><pubDate>Sun, 28 Apr 2019 16:46:11 +0800</pubDate><description><![CDATA[#include &lt;stdio.h&gt;

void reverse(int *x,int n);
void main(){
	int i,a[10]={3,1,6,7,4,8,0,5,2,9};
	printf("The original array:\n");
	for(i=0;i&lt;10;i++){
		printf("%d",a[i]);
	}
	printf("\n");
	...]]></description><category></category></item><item><title><![CDATA[001-取地址运算和使用指针访问变量]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/89639109</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/89639109</guid><author>CoderHenryLee</author><pubDate>Sun, 28 Apr 2019 15:28:17 +0800</pubDate><description><![CDATA[#include &lt;stdio.h&gt;

int main(void){
	int a=3,*p;
	
	p = &amp;a;
	
	printf("a=%d,*p=%d\n",a,*p);
	
	*p = 10;
	printf("a=%d,*p=%d\n",a,*p);
	printf("Enter a:");
	scanf("%d",&amp;a);
	printf("a=%d,...]]></description><category></category></item><item><title><![CDATA[c指针-2]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/89607713</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/89607713</guid><author>CoderHenryLee</author><pubDate>Sat, 27 Apr 2019 21:20:53 +0800</pubDate><description><![CDATA[“&amp;”和“ * ”运算符说明

这两个运算符的优先级相同。p =&amp;i;就是将变量i的值赋值给p，q=*p;q获取到了p所指向变量的值。

“&amp;*”和 “ * &amp;”的区别：

假设有int a ; p = &amp;a;,因为两者运算符优先级相同，按自右向左的方向结合。因此：
“&amp;*p”先进行 “ * ”运算，“ *p”相当于变量a；在进行“&amp;”运算，...]]></description><category></category></item><item><title><![CDATA[c指针-1]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/89606708</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/89606708</guid><author>CoderHenryLee</author><pubDate>Sat, 27 Apr 2019 20:16:53 +0800</pubDate><description><![CDATA[基本知识


在c语言中，指针是一种特殊的变量，它是存放地址的。


假设我们定义了一个指针变量，int*pointer用来存放整形变量i的地址，可以通过语句：
pointer = &amp;i;来表示。


*：取值操作符；


&amp;：取址操作符；


int i =2000;
int *p;
p=&amp;i;
printf("%d\n",*p);



知道了一个变量的地址，就可以通过...]]></description><category></category></item><item><title><![CDATA[JSON浅谈之语法]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/88582237</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/88582237</guid><author>CoderHenryLee</author><pubDate>Fri, 15 Mar 2019 19:40:48 +0800</pubDate><description><![CDATA[JSON（javaScript Object Notation）,javaScript对象表示法。

有个大牛认为与XML相比，JSON是在javaScript中读写结构化数据的更好的方式。
关于JSON，最重要的是要知道它是一种数据格式，不是一种编程语言。
JSON并不从属于javaScript。而且，并不是只有javaScript才是用JSON，毕竟JSON只是一种数据格式。很多编程语言都有针...]]></description><category></category></item><item><title><![CDATA[16.1 跨文档消息传递]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/88554305</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/88554305</guid><author>CoderHenryLee</author><pubDate>Thu, 14 Mar 2019 15:44:36 +0800</pubDate><description><![CDATA[跨文档消息传送（cross-document messaging)简称XDM。指的是在来自不同域的页面间传递消息。

XDM的核心是postMessage()方法。这个方法的目的只有一个：向另一个地方传递数据。
对于XDM而言，‘另一个地方’指的是包含在当前页面中的iframe元素，或者由当前页面弹出的窗口。
postMessage()方法接收两个参数：一条消息和一个表示消息接收方来自哪个域的字符...]]></description><category></category></item><item><title><![CDATA[6.2创建对象-上]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/88094447</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/88094447</guid><author>CoderHenryLee</author><pubDate>Sun, 03 Mar 2019 21:32:02 +0800</pubDate><description><![CDATA[js中创建对象的方式有以下几种：

工厂模式

示例1：
function creatPerson(name,age,job){
    var o = new Object();
    o.name = name;
    o.age = age;
    o.job  = job;
    o.sayName = function(){
        alert(this.name);
 ...]]></description><category></category></item><item><title><![CDATA[正则表达式2]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/87817819</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/87817819</guid><author>CoderHenryLee</author><pubDate>Wed, 20 Feb 2019 19:45:46 +0800</pubDate><description><![CDATA[4.2字符集合

[  ]

var reg=/[1a2b3]/; //匹配一个字符，这个字符必须是：1/a/2/b/3其中一种，如果是就表示满足，如果不是就不满足
    reg.test(&quot;a&quot;);      //结果为：true
    reg.test(&quot;3&quot;);      //结果为：true
    reg.test(&quot;fg56&quot;); //一个符合要求的字符都不存在，结果为：false...]]></description><category></category></item><item><title><![CDATA[正则表达式1]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/87699382</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/87699382</guid><author>CoderHenryLee</author><pubDate>Tue, 19 Feb 2019 12:17:47 +0800</pubDate><description><![CDATA[

概念
什么是正则表达式？正则表达式其实也可以当做是js中的一中对象。
它的作用是解决字符串操作中一些比较麻烦的场景：比如字符串提取，字符串替换，字符串验证等。


写法：
正则表达式是长什么样的？既然可以把它当做是一个对象，那么就可以使用构造函数的方式去new一个正则表达式。



var reg2=new RegExp(&amp;quot;a&amp;quot;);
var reg1=/a/;

其中//是标记，a表示要匹配的...]]></description><category></category></item><item><title><![CDATA[函数的四种调用方式以及this指向]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/87033843</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/87033843</guid><author>CoderHenryLee</author><pubDate>Mon, 11 Feb 2019 23:53:16 +0800</pubDate><description><![CDATA[在ES6之前，我们要看一个函数内部的this到底是指向谁，那么就要通过观察函数是如何调用的，下面是函数的四种调用方式：

函数调用

示例1：
    var age=18;
    var p={
        age:15
        say:function(){
            console.log(this.age);//window.age:18
        }
 ...]]></description><category></category></item><item><title><![CDATA[ES6-Promise]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/86709949</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/86709949</guid><author>CoderHenryLee</author><pubDate>Wed, 30 Jan 2019 23:30:05 +0800</pubDate><description><![CDATA[什么是Promise？
Promise是es6提供的一种对象，这个对象包含了一系列方法。它的产生是为了解决回调地狱（可以简单理解为层层嵌套的回调函数）的尴尬。也是异步编程的一种解决方案。
Promise可以理解为一个容器，里面包含需要执行的异步操作。同时，Promise提供了统一的API，各种异步操作都可以用同样的方法进行处理。
Promise对象有以下两个特点。

对象的状态不受外界影响。Pro...]]></description><category></category></item><item><title><![CDATA[ES6 - 箭头函数]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/86706281</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/86706281</guid><author>CoderHenryLee</author><pubDate>Wed, 30 Jan 2019 17:26:27 +0800</pubDate><description><![CDATA[什么是箭头函数？
箭头函数属于函数扩展的一部分。那么什么是箭头函数呢？怎么表示呢？
ES6 允许使用“箭头”（=&amp;gt;）定义函数。
示例1：
//es6之前定义一个函数
var fn = function(){
 console.log(&quot;hello&quot;);
}

//es6箭头函数定义一个函数
var fn = ()=&amp;gt;{
  console.log(&quot;hello&quot;);
};


由示例1...]]></description><category></category></item><item><title><![CDATA[ES6-Symbol]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/86695944</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/86695944</guid><author>CoderHenryLee</author><pubDate>Tue, 29 Jan 2019 21:39:22 +0800</pubDate><description><![CDATA[什么是Symbol？
Symbol可以认为是ES6新增的一种数据类型，而且是一种值类型。表示独一无二的值！
为什么要使用Symbol？
ES5中对象属性都是用字符串来定义的，当对象使用的多时，有可能会遇到对象属性命名重复的冲突，在ES6中，为了解决这种冲突，所以产生了新的数据类型，也就是Symbol出现及使用的原因！
如何使用Symbol？
示例1：
//使用Symbol函数执行来生成一个Symb...]]></description><category></category></item><item><title><![CDATA[ES6-解构赋值]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/86684111</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/86684111</guid><author>CoderHenryLee</author><pubDate>Mon, 28 Jan 2019 23:32:21 +0800</pubDate><description><![CDATA[何为解构赋值？
ES6中允许从对象和数组按照一定模式进行提取值，然后对变量进行赋值，这种操作就叫解构赋值。

数组的解构赋值：

示例1.1：
//ES6之前的变量赋值写法
let a = 1;
let b = 2;
let c = 3;

//ES6利用解构赋值写法：
let [a,b,c] = [1,2,3];


上面简单的示例可以看到等号左右两边模式是相等的，也就是说左右两边都必须是数组类...]]></description><category></category></item><item><title><![CDATA[ES6-模板字符串]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/86670605</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/86670605</guid><author>CoderHenryLee</author><pubDate>Sun, 27 Jan 2019 22:34:00 +0800</pubDate><description><![CDATA[模板字符串是使用反引号 (``) 来代替普通字符串中的用双引号和单引号。
示例1：

var a = `hello 
   world!
`;
console.log(a);




这个模板字符串支持文本换行，支持字符串格式保持原样输出，这是普通字符串代替不了的。


模板字符串里面支持插入表达式，使用${}将表达式放入大括号内，这会使得输出语句或者构造模板变得更加轻松和简单。


示例2：

...]]></description><category></category></item><item><title><![CDATA[WEB字体浅谈]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/78941804</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/78941804</guid><author>CoderHenryLee</author><pubDate>Sun, 31 Dec 2017 14:40:29 +0800</pubDate><description><![CDATA[字体是面向客户的一种表现形式，但我们给一个页面设置css字体样式（font-family）时候，这时可能就会用到WEB字体了。了解web字体之前，首先说一下字体系列： 
共有五个字体系列：1.sans-serif字体系列；2.serif字体系列；3.monospace字体系列；4.cursive字体系列；5.fantasy字体系列。每个字体系列都包含有大量的字体。一般情况下，我们使用的字体都在上面的]]></description><category></category></item><item><title><![CDATA[HTML5新增结构元素汇总]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/78940066</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/78940066</guid><author>CoderHenryLee</author><pubDate>Sat, 30 Dec 2017 23:10:10 +0800</pubDate><description><![CDATA[H5新增的结构元素有哪些？主体结构 
 1. article元素：代表文档，页面或应用程序中独立的;完整的；可以独自被外部引用的内容。 
 2. section元素：用来对网站或应用程序中页面上的内容进行分块，一个section元素通常有内容及其标题组成。 
 3.  nav元素：一个可以用来作为页面导航的链接组，其中的导航元素链接到其他页面或当前页面的其他部分。 
 4. aside元素：用来表示]]></description><category></category></item><item><title><![CDATA[js中的三大家族]]></title><link>https://blog.youkuaiyun.com/CoderHenryLee/article/details/78699482</link><guid>https://blog.youkuaiyun.com/CoderHenryLee/article/details/78699482</guid><author>CoderHenryLee</author><pubDate>Sun, 03 Dec 2017 00:26:09 +0800</pubDate><description><![CDATA[offset家族offset家族:可以获取自身元素尺寸的一套方法。==1.offsetWidth和offsetHeight== （得到的是自己的宽度和高度，与别人无关）计算公式： 
offsetWidth = width + border + padding==2.offsetLeft 和offsetTop== （返回距离父级盒子（最近的带有定位）的左边和上边的位置。注意：如果父级都没有定位则以bo]]></description><category></category></item></channel></rss>