自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 资源 (7)
  • 问答 (1)
  • 收藏
  • 关注

原创 this到底指向谁?

this关键字是JavaScript函数内部的一个对象,this是一个指针,指向调用函数的对象。看似简单的定义但却由于在解析this引用过程中可能涉及到执行上下文、作用域链、闭包等复杂的机制,导致this的指向问题变得异常复杂。首先必须明白一点,任何复杂的机制都不可能轻而易举的学懂弄通,因此,本文将与大家一起耐心回顾this对象,归纳总结this的引用机制,希望对你有所帮助。一、函数到底执行了没?要向弄懂this对象,必须先搞懂函数是什么时候执行?先看看简单的一个例子(例1):function fn

2021-07-25 23:05:43 854

原创 深入分析Flex布局空间分配

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

2021-05-08 11:59:54 3752 1

原创 JavaScript创建对象

目录一、对象(一)创建对象的两种基本形式1、创建对象-Object构造函数形式2、创建对象-对象字面量形式(二)属性类型1、数据属性的4个特性2、访问器属性的4个特性3、操纵特性二、创建对象(一)工厂模式(二)自定义构造函数(三)原型模式1、原型模式2、原型对象和实例的操纵(四)组合使用构造函数模式和原型模式ECMA-262把对象定义为:对象是无序属性的集合,其属性可以包含基本值、对象或函数一、对象(一)创建对象的两种基本形式1、创

2021-03-16 23:53:54 161

原创 二叉树常见解题方法

文章目录一、利用递归遍历框架解题题目1:二叉树的深度(leetcode)题目2:二叉树的直径(leetcode)1、特殊场景-两个节点同时遍历题目3:对称二叉树(leetcode)题目4:填充每个节点的下一右侧节点指针(leetcode)2、特殊场景-构建二叉树二、利用层次遍历解题题目6:二叉树的层序遍历(leetcode)题目7: 填充每个节点的下一个右侧节点指针(leetcode)一、利用递归遍历框架解题二叉树解题重点在于利用思考根节点、左子树、右子数的关系,其余工作交给遍历处理,二叉树递归基本框架

2021-03-08 15:01:03 2018

原创 python编程快速上手——第十四章编程实践

14.8 Excel到CSV的转换程序:#!python3import openpyxl,os,csvfilePath = input('请输入替换的文件夹路径:')if os.path.isdir(filePath) == False: raise Exception('filePath is invalid.')for folderName,subfolders,f...

2018-08-14 15:39:58 530

原创 python编程快速上手——第八章编程实践

8.9.1扩展多重剪贴板#!python3#mcb.pyw - Saves and loads pieces of text to the clipboard.import shelve,pyperclip,sysmcbShelf = shelve.open('mcb')if len(sys.argv)==3 and sys.argv[1].lower() == 'save...

2018-08-11 18:58:56 442

原创 小议LWIP——内存管理

对于嵌入式系统而言,内存管理始终是最重要的一环,内存管理的选择将从根本上决定内存分配和回收效率,最终决定系统的性能。LWIP为使用者提供两种简单却又高效的内存管理机制:动态内存池管理、动态内存堆管理。动态内存池管理策略动态内存池是相当简单高效的一种分配策略,原理就类似我们去买鞋子,因为大家的脚无非就是这几种码数,所以厂商就先生产好确定码数的鞋子,比如这种球鞋厂商就生产39、40、41、42、43、4

2016-11-24 23:42:46 2893

原创 小议LWIP——ARP协议1

在TCP/IP网络中,ARP协议始终是相当重要的一个环节,它主要是负责将32位的IP地址(IPv6则是128位)映射为48位的MAC地址(规定每一种网络通信设备具备唯一的MAC地址),从而可以在底层数据链路层中标记不同的网络通信设备。ARP协议的本质由于IP地址和MAC地址没有固定的映射规则,所以为了描述这种映射关系,在实现上LWIP采用ARP缓存表这种结构来存储这种映射关系。简单的说就是需要将一条

2016-11-13 23:21:13 550

原创 小议LWIP——内存对齐

每一种处理器都会有自己的内存对齐要求,这样做的目的很大程度上是为了处理器读取内存数据的效率,当然还有总线等因素的影响,具体的可以看一下为什么要内存对齐 Data alignment: Straighten up and fly right ,我觉得写得还不错。好了,废话不多说,接下来看一下LWIP在不同平台上是如何实现内存对齐的。一. 对齐的总类及本质 在LWIP中,内存对齐分两种:1、数据起始

2016-11-02 15:51:23 2852

原创 浅析C语言中的字节对齐

对于不同系统对字节对齐的要求略微有所差异,但是无论哪一个系统都是出于提高CPU和存储器之间的传输效率而采用了字节对齐。我们首先基于IA32体系架构来讨论字节对齐。 在32位Linux下,分2种对齐:以2字节对齐和以4字节对齐。对齐方式主要看所存储的数据类型的大小。2字节的数据类型以2字节地址对齐,大于或者等于4字节的数据类型以4字节对齐,假如数据大小为一个字节,则不用对齐存放。例子: Str

2016-04-25 21:25:51 520

STM32USB固件库

STM32_USB-FS-Device_Driver,在STM32中开发USB的固件库

2016-05-27

LPS331AP开发资料

该资料包括:LPS331AP硬件原理图、技术手册、焊接电路、以及官方提供的驱动示例(对气压、温度读取转换的详细流程),是开发LPS331AP的必备资料。

2016-05-06

基于STM32F103硬件4线SPI的LPS331AP气压计驱动程序

对于驱动LPS331AP具有很好的指导意义,可以测量出气压和温度。

2016-05-06

Linux内核完全注释

学习Linux内核必读书籍之一(高清版)

2016-03-07

Unix环境高级编程(英文版)

Unix系统编程中最权威详细的一本教程,高清英文版

2016-02-29

Unix网络编程卷1

Unix网络编程中最权威的一本了,高清英文版。

2016-02-29

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除