自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 问答 (1)
  • 收藏
  • 关注

原创 虚拟dom和diff算法

虚拟dom就是用js模拟dom树对象,由一个一个虚拟节点vnode,虚拟节点又能嵌套虚拟节点,这样层层嵌套形成一个树结构,把它称为个虚拟dom树,在模板编译阶段。为什么操作虚拟dom比操作真实dom快?    1.减少DOM的操作。虚拟dom可以将多次操作合并为一次操作,比如你添加1000个节点,原生可能会一个一个添加。vue中可能创建一个数组,往里面放1000个文本,最后一次性的放到界面上。减少dom操作的次数    2

2021-09-21 17:06:59 191

原创 vue的响应式原理,数据劫持和发布者订阅者模式

vue的响应式原理数据劫持+发布者订阅者模式数据劫持new vue时候拿到data中返回的对象,通过object.key().forEach()遍历,给原来对象中的属性通过object.defineProperty重新定义赋值。通过这个方法在对象使用这个属性的时候(obj[key])会通过属性的get()方法使用,修改这个属性值的时候是通过这个属性的set()方法修改。所以我们可以对数据做一个劫持。 const obj={ message:'哈哈哈', name:'sf' }

2021-09-19 16:01:47 688

原创 Javascript中DOM兼容性封装

Javascript中DOM兼容性封装1.封装滚动距离常规:window.pageXOffset / window.pageYOffset不常用:window.scrollX / window.scrollYIE8以下及其它浏览器有的版本用这个有的版本用那个:document.body.scrollLeft / document.body.scrollTopdocument.documentElement.scrollLeft / document.documentElement.scrollT

2021-09-12 15:39:09 155

原创 C++函数重载

函数重载:同名但不同操作int Sum(int a,int b)//返回值+函数名+形参列表{return a+b;}double Sum(double a,double b){return a+b;}char Sum(char a,char b){return a+b;}int main(){ Sum(10,20); Sum(10.1,20.1);}1.函数的返回值函数的返回值不同,不会影响重载2.函数名称同名函数的起名相同,也不会影响重载3.形参列表①形参类

2020-08-13 17:14:33 251 2

原创 编译连接运行原理(C++ 和 linux gcc使用)

C++1.预编译:生成 .i文件(高级语言)①处理带 # 的东西,删除#define并做文本替换;②递归展开头文件;③处理#if #endif等预留编译指令;④删除注释,添加行号和文件标识;⑤保留#pragma指令。2.编译生成 .s文件(汇编语言)①词法分析(命名等规范否)②语法分析(分析行表达式)③语义分析(结合上下文)④代码优化⑤生成汇编指令3.汇编生成 .o文件(目标文件/可重入的二进制文件)翻译指令(把低级语言翻译成机器语言)强弱符号(只针对于全局变量)强符号

2020-08-13 12:38:58 250 1

原创 八大排序------插入排序(直接插入排序,希尔排序)

八大排序------插入排序(直接插入排序,希尔排序)排序算法有内排序和外排序,一般就用内排序,外排序就不常用。内排序(数据在内存上)外排序(数据在磁盘上)内排序又有八大排序插入排序1.直接插入排序2.shell(希尔)排序选择排序3.简单选择排序4.堆排序交换排序5.冒泡排序6.快速排序归并排序7.归并排序基数排序8.基数排序(桶排序)这次就先说说插入排序,插...

2020-04-06 19:30:40 217

原创 递归的调用

递归的调用要通过 栈 的方式来存储和调用(栈:先进后出或者后进先出)举个例子:第五个人比第四个人大2岁第四个人比第三个人大2岁第三个人比第二个人大2岁第二个人比第一个人大2岁第一个人说他10岁问第五个人多大很简单,用递归或者for循环来做#include<stdio.h>int Age(int n){ int tmp; if(n==1) { return...

2019-11-07 19:45:48 205

原创 二维数组的数据类型

二维数组的各种数据类型int brr[3][4];定以一个二维数组,然后分析它的各种数据类型(1)brrbrr 数据类型是 int (*p)[4]想象成一维数组,意思就是指向一维数组第1行,然后第1行有4个格子。二维数组数组名(brr)不是二级指针,而是指向一个数组的指针简称“数组指针”。int (*p)[4]: 数组的指针,[ ]优先级高扩展:int *p[4] :指针的数组...

2019-10-31 19:38:20 2328 1

原创 用指针交换两个数

指针交换两个数子函数的改变要想影响到父函数,必须传指针,必须解引用。(传指针,解引用)错误1:首先想到不用指针,就和下面一样void Swap_err1(int a,int b){int tmp=a;b=a;b=tmp;}int main(){int a=10;int b=20;Swap_err1(a,b);printf("%d,%d\n",a,b)}错误2...

2019-10-24 21:07:57 555

原创 折半查找法(在顺序数组中找一个数,得到它是第几个数)

在顺序数组中找一个数,得到它是第几个数用折半查找法int arr[]={1,2,3,4,5,6,7,8,9,10,11,12};int low=0;//最小的下标int hight=len-1;//最大的下标=长度-1,因为下标是从0开始,长度从1开始;int mid;//中间下标mid=(low+hight)/2;//中间下标等于最低加最高下标再除以2eg:找12这个数,起初l...

2019-10-17 22:40:04 1676

原创 n进制计算器(在n进制下,567*456=150216,求n)

n进制计算器eg:在n进制下,15×4=112,求n?A.5 B.6 C.7 D.8解:(1)通俗方法转化成十进制计算(把每个数都转化成十进制)(1×n+5)×4=n²+n+2n=6(2)先转成十进制化简,然后两边给每一项%n(n+5)×4=n²+n+2 / /化简4n+20=n²+n+2 / /%n20%n=2 / /2%n的话,n肯定比2大,所以求余就是本身n=6...

2019-10-17 19:18:23 452

原创 输出一个数的位数,逆序输出,正序输出.(计数器算法)

输出一个数的位数,逆序输出,正序输出.(计数器算法)数的位数:运用丢的思想,就好比丢一个数字,计一个数字。从前往后丢,用求余;从后往前丢,用整除eg:12345 从后往前开始丢数字丢12345512344123312211//12345先丢掉5计数为1,剩下的数1234再丢掉最后一位4计数加一为2。。。。。。直到数字全丢掉,...

2019-10-11 17:28:41 708 1

空空如也

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

TA关注的人

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