自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

折翼高飞,如影随形

迷茫只是暂时的.....

  • 博客(16)
  • 收藏
  • 关注

原创 Vue Router 的实现原理

VueRouter的实现原理——手写一个router前言知识1、VueRouter 其实是一个插件的形式注入到Vue中的【Vue.use(VueRouter)】2、要知道VueRouter的底层在浏览器中使用的是hash和histroy两种模式,在node服务端使用的是abstracthash :直接就是使用onhashchangehistroy : 使用了H5 histroy API 中的 histroy.pushState(state,title,url) 、histroy.replace

2021-06-11 20:48:25 1561 1

原创 Vue中$on和$emit的实现原理

Vue中发布订阅模式在Vue中采用了发布订阅模式,典型的兄弟组件间的通信$on和$emit发布订阅模式:(订阅者、发布者、信号中心)一个发布者$emit发布一个事件到信号中心 eventBus ,订阅者们 $on 通过信号中心收到该事件,进行处理在这里模拟一个自定义事件 $on和$emit事件class EventBus{ constructor(){ // 1.处理事件对应的处理函数 this.sub = {} } $on(event,fn){ if(!this.sub[

2021-06-12 17:02:07 2106

原创 vue3中proxy代理

理解Proxy代理这里模拟一个伪Vue,使用Proxy代理为响应式<div id='app'></div><script> const data = { name:'hello', age:10 } const vm = new Proxy(data,{ get(target,p,receiver){ // 1.target就是代理的data对象 // 2.p 就是data中的每一个属性(name.age) // 3.receiv

2021-06-12 16:16:31 1078

原创 Vue中抽离组件后父子组件间的传值

Vue中父子组件间的传值简言:在学习Vue全家桶之Vuex之前,首得搞明白Vue在组件中的数据传递,其中包括:1. 路由协议传参2. 父子组件传值现在,简单的介绍父子组件传值一、父子组件的传值1.父组件向子组件传值首先有一个父组件Parent.vue<template> <div> <son></son> </div></template><script>import S

2020-12-10 15:14:51 254

原创 JS快速排序算法

通过JS实现快速排序基本思想:给定一个数组 arr = [23, 45, 2, 65, 12, 12, 88, 38, 1],通过快速排序算法实现从小到大的排序。先获取数组第一个元素,作为比较的基数。大于基数的数将其push到一个新的数组中,小于基数的也push到一个新数组中。在通过递归重新对两个新组数进行排序。最后通过concat()函数将两个新数组和基数连接。//处理数组let arr = [23, 45, 2, 65, 12, 12, 88, 38, 1];//快速排

2020-12-03 10:42:27 309

原创 JavaScript中使用Promise实现瀑布函数

一、Promise使用场景Promise是一个构造函数,通过new来实例化,主要解决异步编程。new Promise(...).then().catch().finally()简单的理解就是,通过嵌套链式的对函数进行调用promise有两个常用的参数Promise(function (resolve, reject){...})) resolve:接受处理的事件,将通过它传递到下一个事件。) reject: 事件执行出错时,将异常抛出给catch()。Promise有三个重

2020-11-29 18:28:38 571

原创 JavaScript进阶(一)

JS进阶对象Object理解初识篇:多种创建对象的方式一、使用new Object()通过new字符直接创建一个对象,对象属性不变,在被调用时this指向被赋值的变量。let obj1 = new Object();obj1.age = 25;obj1.getName = function (name) { console.log(name + ',' + this.age);}obj1.getName('java'); //java,25二、使用隐式字面创建:直接使用{

2020-11-24 09:16:30 163

原创 让你彻底明白python函数中*argv和**kwargs

python函数参数*argv以及**kwargs在学习python函数时,你是不是会在源码调用中看到*argv和**kwargs,例如function(n,*argv,*kwargs):,还有不懂得小伙伴赶紧打开你的python IDE# 例如这个函数def func(n,*argv,**kwargs): # 代码 ...一、*argv其实很好理解的,首先对于*argv来说:你就把*argv理解成函数除参数n外的多个参数,也就是一个列表def func(n,*argv):

2020-11-16 15:54:42 828

原创 网络攻防之wireshark抓取登录信息

使用wireshark抓取登录信息简介:Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。在过去,网络封包分析软件是非常昂贵的,或是专门属于盈利用的软件。Ethereal的出现改变了这一切。在GNUGPL通用许可证的保障范围底下,使用者可以以免费的代价取得软件与其源代码,并拥有针对其源代码修改及客制化的权利。Ethereal是全世界最广泛

2020-06-07 17:17:46 4040 2

原创 Linux网络编程之PHP聊天室Workerman-chat

云服务器上搭建"PHP聊天室框架"一、简介:在服务器上搭建PHP聊天室框架{workerman-chat}具体步骤1. 准备云服务器购买阿里云服务器[可选购买其他云服务器,如:腾讯云、华为云等]配置阿里云安全组和防火墙域名绑定[可选设置,域名绑定,需要认证3~4天,可查看阿里云域名解析文档]2. 配置服务器安装传输文件工具lrszs安装php>=5.4...

2020-04-15 21:02:40 1427

原创 python内裤之List.insert

两个列表相隔插入值题目:list1 = [1,2,3,4,5]和list2 = [6,7,8,9,10],怎么生成一个列表list3 = [1,6,2,7,3,8...]?使用python内置函数list.insert(index,obj);insert() 函数用于将指定对象插入列表的指定位置,index----->obj对象索引位置,obj一个需要插入的对象使用pyt...

2020-03-20 00:41:09 214

原创 python安装以及使用pip镜像源

python安装以及使用pip镜像使用PIP国内镜像源急速安装第三方库简介:Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越多被用于独立的、大型项目的开发。(词条来自百度百科)pip 是一个现代的,通用的 Python 包管理工具。提供了对 Python 包的查找、下载、安装、卸...

2020-03-09 14:47:33 860

原创 C语言中编译器工作的过程

C语言编译的过程(首先你的系统安装好gcc/g++编译器,这里我就默认都安装好了)gcc执行的步骤:预处理(Pre-Processing): 对 C 语言进行预处理,生成 test.i 文件编译(Compiling):将上一步生成的 test.i 文件编译生成汇编语言文件,后缀名为 test.s汇编(Assembling):将汇编语言文件 test.s 经过汇编,生成目标文件,后缀名为...

2020-02-15 18:54:09 537

原创 C语言中内存分布

C语言中内存分布(memory distribution of C)组成:(text、data、bss、dec、hex )代码段(text segment):用来存放代码,比如函数等;数据段(data segment):用于存放初始化和全局变量,包括static变量;bss 段 (bss segment):英文(Block Started by Symbol),用来存放未初始化的全局变量...

2020-02-15 01:55:55 320

原创 快速排序算法

C语言实现快速排序算法快速排序算法:快速排序由C. A. R. Hoare在1960年提出。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列....点这里看更详细的快速排序C语言实现:#include <s...

2020-02-14 03:30:21 103

原创 汉诺塔

由来法国数学家爱德华·卢卡斯曾编写过一个印度的古老传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片,不管在哪根针上,小片必须在大片上面。僧侣们预言,当所有的金片都从梵天穿好的那根针上移到另外一根针上时,世界就将在一声霹雳中消灭,而梵塔、庙宇和众生也都将同归于尽

2020-02-14 02:57:58 145

空空如也

空空如也

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

TA关注的人

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