- 博客(10)
- 资源 (7)
- 问答 (1)
- 收藏
- 关注
原创 this到底指向谁?
this关键字是JavaScript函数内部的一个对象,this是一个指针,指向调用函数的对象。看似简单的定义但却由于在解析this引用过程中可能涉及到执行上下文、作用域链、闭包等复杂的机制,导致this的指向问题变得异常复杂。首先必须明白一点,任何复杂的机制都不可能轻而易举的学懂弄通,因此,本文将与大家一起耐心回顾this对象,归纳总结this的引用机制,希望对你有所帮助。一、函数到底执行了没?要向弄懂this对象,必须先搞懂函数是什么时候执行?先看看简单的一个例子(例1):function fn
2021-07-25 23:05:43
948
原创 深入分析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
4229
1
原创 JavaScript创建对象
目录一、对象(一)创建对象的两种基本形式1、创建对象-Object构造函数形式2、创建对象-对象字面量形式(二)属性类型1、数据属性的4个特性2、访问器属性的4个特性3、操纵特性二、创建对象(一)工厂模式(二)自定义构造函数(三)原型模式1、原型模式2、原型对象和实例的操纵(四)组合使用构造函数模式和原型模式ECMA-262把对象定义为:对象是无序属性的集合,其属性可以包含基本值、对象或函数一、对象(一)创建对象的两种基本形式1、创
2021-03-16 23:53:54
244
原创 二叉树常见解题方法
文章目录一、利用递归遍历框架解题题目1:二叉树的深度(leetcode)题目2:二叉树的直径(leetcode)1、特殊场景-两个节点同时遍历题目3:对称二叉树(leetcode)题目4:填充每个节点的下一右侧节点指针(leetcode)2、特殊场景-构建二叉树二、利用层次遍历解题题目6:二叉树的层序遍历(leetcode)题目7: 填充每个节点的下一个右侧节点指针(leetcode)一、利用递归遍历框架解题二叉树解题重点在于利用思考根节点、左子树、右子数的关系,其余工作交给遍历处理,二叉树递归基本框架
2021-03-08 15:01:03
2294
原创 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
565
原创 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
482
原创 小议LWIP——内存管理
对于嵌入式系统而言,内存管理始终是最重要的一环,内存管理的选择将从根本上决定内存分配和回收效率,最终决定系统的性能。LWIP为使用者提供两种简单却又高效的内存管理机制:动态内存池管理、动态内存堆管理。动态内存池管理策略动态内存池是相当简单高效的一种分配策略,原理就类似我们去买鞋子,因为大家的脚无非就是这几种码数,所以厂商就先生产好确定码数的鞋子,比如这种球鞋厂商就生产39、40、41、42、43、4
2016-11-24 23:42:46
3032
原创 小议LWIP——ARP协议1
在TCP/IP网络中,ARP协议始终是相当重要的一个环节,它主要是负责将32位的IP地址(IPv6则是128位)映射为48位的MAC地址(规定每一种网络通信设备具备唯一的MAC地址),从而可以在底层数据链路层中标记不同的网络通信设备。ARP协议的本质由于IP地址和MAC地址没有固定的映射规则,所以为了描述这种映射关系,在实现上LWIP采用ARP缓存表这种结构来存储这种映射关系。简单的说就是需要将一条
2016-11-13 23:21:13
694
原创 小议LWIP——内存对齐
每一种处理器都会有自己的内存对齐要求,这样做的目的很大程度上是为了处理器读取内存数据的效率,当然还有总线等因素的影响,具体的可以看一下为什么要内存对齐 Data alignment: Straighten up and fly right ,我觉得写得还不错。好了,废话不多说,接下来看一下LWIP在不同平台上是如何实现内存对齐的。一. 对齐的总类及本质 在LWIP中,内存对齐分两种:1、数据起始
2016-11-02 15:51:23
3104
原创 浅析C语言中的字节对齐
对于不同系统对字节对齐的要求略微有所差异,但是无论哪一个系统都是出于提高CPU和存储器之间的传输效率而采用了字节对齐。我们首先基于IA32体系架构来讨论字节对齐。 在32位Linux下,分2种对齐:以2字节对齐和以4字节对齐。对齐方式主要看所存储的数据类型的大小。2字节的数据类型以2字节地址对齐,大于或者等于4字节的数据类型以4字节对齐,假如数据大小为一个字节,则不用对齐存放。例子: Str
2016-04-25 21:25:51
620
LPS331AP开发资料
2016-05-06
如何在STM32F207中实现串口硬件流控制
2016-09-07
TA创建的收藏夹 TA关注的收藏夹
TA关注的人