<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[u012866052的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/u012866052</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u012866052]]></copyright><item><title><![CDATA[this到底指向谁？]]></title><link>https://blog.youkuaiyun.com/u012866052/article/details/119089733</link><guid>https://blog.youkuaiyun.com/u012866052/article/details/119089733</guid><author>u012866052</author><pubDate>Sun, 25 Jul 2021 23:05:43 +0800</pubDate><description><![CDATA[this关键字是JavaScript函数内部的一个对象，this是一个指针，指向调用函数的对象。看似简单的定义但却由于在解析this引用过程中可能涉及到执行上下文、作用域链、闭包等复杂的机制，导致this的指向问题变得异常复杂。首先必须明白一点，任何复杂的机制都不可能轻而易举的学懂弄通，因此，本文将与大家一起耐心回顾this对象，归纳总结this的引用机制，希望对你有所帮助。
一、函数到底执行了没？
要向弄懂this对象，必须先搞懂函数是什么时候执行？
先看看简单的一个例子(例１）：
function fn]]></description><category></category></item><item><title><![CDATA[深入分析Flex布局空间分配]]></title><link>https://blog.youkuaiyun.com/u012866052/article/details/116522386</link><guid>https://blog.youkuaiyun.com/u012866052/article/details/116522386</guid><author>u012866052</author><pubDate>Sat, 08 May 2021 11:59:54 +0800</pubDate><description><![CDATA[Flex布局方案很适合应用与多栏等高布局场景，本文将深入分析flex-grow、flex-shrink，flex-basis三个属性,充分了解这些属性如何与增长和缩小的flex子元素一起工作是掌握Flex布局的关键所在。
flex语法
flex-grow、flex-shrink，flex-basis三个属性都是作用在flex子元素中，主要控制一个flex子元素的以下几个方面:

flex-grow: 这个flex子元素得到多少剩余空间?
flex-shrink: 从这个flex子元素要收缩多少空间?
fle]]></description><category></category></item><item><title><![CDATA[JavaScript创建对象]]></title><link>https://blog.youkuaiyun.com/u012866052/article/details/114907290</link><guid>https://blog.youkuaiyun.com/u012866052/article/details/114907290</guid><author>u012866052</author><pubDate>Tue, 16 Mar 2021 23:53:54 +0800</pubDate><description><![CDATA[目录

一、对象

(一）创建对象的两种基本形式

1、创建对象-Object构造函数形式

2、创建对象-对象字面量形式

(二）属性类型

1、数据属性的4个特性

2、访问器属性的4个特性

3、操纵特性

二、创建对象

（一）工厂模式

（二）自定义构造函数

（三）原型模式

1、原型模式

2、原型对象和实例的操纵

（四）组合使用构造函数模式和原型模式

ECMA-262把对象定义为：对象是无序属性的集合，其属性可以包含基本值、对象或函数

一、对象

(一）创建对象的两种基本形式

1、创]]></description><category></category></item><item><title><![CDATA[二叉树常见解题方法]]></title><link>https://blog.youkuaiyun.com/u012866052/article/details/114530296</link><guid>https://blog.youkuaiyun.com/u012866052/article/details/114530296</guid><author>u012866052</author><pubDate>Mon, 08 Mar 2021 15:01:03 +0800</pubDate><description><![CDATA[文章目录一、利用递归遍历框架解题题目1：二叉树的深度（leetcode)题目2：二叉树的直径(leetcode)1、特殊场景-两个节点同时遍历题目3：对称二叉树(leetcode)题目4：填充每个节点的下一右侧节点指针(leetcode)2、特殊场景-构建二叉树二、利用层次遍历解题题目6：二叉树的层序遍历(leetcode)题目7： 填充每个节点的下一个右侧节点指针(leetcode)
一、利用递归遍历框架解题
二叉树解题重点在于利用思考根节点、左子树、右子数的关系，其余工作交给遍历处理，二叉树递归基本框架]]></description><category></category></item><item><title><![CDATA[python编程快速上手——第十四章编程实践]]></title><link>https://blog.youkuaiyun.com/u012866052/article/details/81668252</link><guid>https://blog.youkuaiyun.com/u012866052/article/details/81668252</guid><author>u012866052</author><pubDate>Tue, 14 Aug 2018 15:39:58 +0800</pubDate><description><![CDATA[14.8 Excel到CSV的转换程序：


#!python3


import openpyxl,os,csv

filePath = input('请输入替换的文件夹路径：')

if os.path.isdir(filePath) == False:
	raise Exception('filePath is invalid.')


for folderName,subfolders,f...]]></description><category></category></item><item><title><![CDATA[python编程快速上手——第八章编程实践]]></title><link>https://blog.youkuaiyun.com/u012866052/article/details/81584134</link><guid>https://blog.youkuaiyun.com/u012866052/article/details/81584134</guid><author>u012866052</author><pubDate>Sat, 11 Aug 2018 18:58:56 +0800</pubDate><description><![CDATA[8.9.1扩展多重剪贴板


#!python3
#mcb.pyw - Saves and loads pieces of text to the clipboard.

import shelve,pyperclip,sys

mcbShelf = shelve.open('mcb')



if len(sys.argv)==3 and sys.argv[1].lower() == 'save...]]></description><category></category></item><item><title><![CDATA[小议LWIP——内存管理]]></title><link>https://blog.youkuaiyun.com/u012866052/article/details/53328134</link><guid>https://blog.youkuaiyun.com/u012866052/article/details/53328134</guid><author>u012866052</author><pubDate>Thu, 24 Nov 2016 23:42:46 +0800</pubDate><description><![CDATA[对于嵌入式系统而言，内存管理始终是最重要的一环，内存管理的选择将从根本上决定内存分配和回收效率，最终决定系统的性能。LWIP为使用者提供两种简单却又高效的内存管理机制：动态内存池管理、动态内存堆管理。动态内存池管理策略动态内存池是相当简单高效的一种分配策略，原理就类似我们去买鞋子，因为大家的脚无非就是这几种码数，所以厂商就先生产好确定码数的鞋子，比如这种球鞋厂商就生产39、40、41、42、43、4]]></description><category></category></item><item><title><![CDATA[小议LWIP——ARP协议1]]></title><link>https://blog.youkuaiyun.com/u012866052/article/details/53153646</link><guid>https://blog.youkuaiyun.com/u012866052/article/details/53153646</guid><author>u012866052</author><pubDate>Sun, 13 Nov 2016 23:21:13 +0800</pubDate><description><![CDATA[在TCP/IP网络中，ARP协议始终是相当重要的一个环节，它主要是负责将32位的IP地址（IPv6则是128位）映射为48位的MAC地址（规定每一种网络通信设备具备唯一的MAC地址），从而可以在底层数据链路层中标记不同的网络通信设备。ARP协议的本质由于IP地址和MAC地址没有固定的映射规则，所以为了描述这种映射关系，在实现上LWIP采用ARP缓存表这种结构来存储这种映射关系。简单的说就是需要将一条]]></description><category></category></item><item><title><![CDATA[小议LWIP——内存对齐]]></title><link>https://blog.youkuaiyun.com/u012866052/article/details/53008721</link><guid>https://blog.youkuaiyun.com/u012866052/article/details/53008721</guid><author>u012866052</author><pubDate>Wed, 02 Nov 2016 15:51:23 +0800</pubDate><description><![CDATA[每一种处理器都会有自己的内存对齐要求，这样做的目的很大程度上是为了处理器读取内存数据的效率，当然还有总线等因素的影响，具体的可以看一下为什么要内存对齐 Data alignment: Straighten up and fly right ，我觉得写得还不错。好了，废话不多说，接下来看一下LWIP在不同平台上是如何实现内存对齐的。一. 对齐的总类及本质 
 在LWIP中，内存对齐分两种：1、数据起始]]></description><category></category></item><item><title><![CDATA[浅析C语言中的字节对齐]]></title><link>https://blog.youkuaiyun.com/u012866052/article/details/51245554</link><guid>https://blog.youkuaiyun.com/u012866052/article/details/51245554</guid><author>u012866052</author><pubDate>Mon, 25 Apr 2016 21:25:51 +0800</pubDate><description><![CDATA[对于不同系统对字节对齐的要求略微有所差异,但是无论哪一个系统都是出于提高CPU和存储器之间的传输效率而采用了字节对齐。我们首先基于IA32体系架构来讨论字节对齐。
  在32位Linux下，分2种对齐：以2字节对齐和以4字节对齐。对齐方式主要看所存储的数据类型的大小。2字节的数据类型以2字节地址对齐，大于或者等于4字节的数据类型以4字节对齐，假如数据大小为一个字节，则不用对齐存放。例子：
  Str]]></description><category></category></item></channel></rss>