自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(45)
  • 收藏
  • 关注

原创 Vue理论到实战

引在前面 自己学习Vue也有很长一段时间了,这里是学习过程中总结的一些知识,希望能帮助到大家 这里有一些开源项目,也可以拿去练手: https://github.com/Ramenbear(欢迎star)一.vue前言 1.Vue.js是一套响应式系统,前端开发库 2.Vue.js是一套构建用户界面的渐进式框架,采用自底向上增量开发的设计,核心库只关心视图层,提...

2020-02-20 16:12:50 614 1

原创 TCP

1.1TCP/IP IP因特网协议:联网主机的路由选择和寻址 TCP传输控制协议:在不可靠的传输信道上提供可靠的抽象层 TCP向应用层隐藏了大多数网络通信的复杂细节 比如丢包重发、按序发送、拥塞控制及避免、数据完整等 为精确传送做了优化,所有字节准确被接收,到达客户端顺序一致性2.1三次握手 建立连接必须经过三次握手,这是为了确保接收端和发送端的接受和...

2020-04-01 12:37:46 155

原创 延迟与带宽

1.1速度 WPO(Web性能优化)快速增长,简单来说就是速度决定一切,跟用户有着密切关系 常规的代码优化准则带来的提升远远不及网络层带来的性能提升 而网络通信中的决定性影响的两个方面:延迟和带宽 延迟:分组从信息源发送到目的地所需要的时间 带宽:逻辑或物理通信路径最大的吞吐量1.2延迟 延迟:消息(message)分组(packet)从信息源发送到...

2020-03-31 12:35:39 1144

原创 泛型

1.定义函数、接口、类不事先指定类型,而是使用的时候再指定类型2.类型变量<T>:用于表示类型而不是值3.例子 function identity <T> (arg:T) :T { return arg; } let output = identity<string>("string"); //类型推论 ...

2020-03-13 12:17:13 121

原创

1.JS通过构造函数来实现类的概念,ES6正式引入class关键字2.类的概念 类(Class):定义了一件事物的抽象特点,包含它的属性和方法 对象(Object):类的实例,通过 new 生成 面向对象(OOP)的三大特性:封装、继承、多态 封装(Encapsulation):将对数据的操作细节隐藏起来,只暴露对外的接口。 外界调用端不需要(也不可...

2020-03-13 12:15:00 217

原创 接口

1.对对象形状的描述 1.interface Person { name: string; age: number; } ​ let tom: Person = { name: 'Tom', age: 25 }; ...

2020-03-13 12:11:46 8113

原创 TS函数

1.JS中函数是一等公民2.定义函数 1.函数声明 // 函数声明(Function Declaration) function sum(x, y) { return x + y; } 2.函数表达式 // 函数表达式(Function Expression) l...

2020-03-13 12:09:00 880

原创 TS基础部分

1.布尔2.数字:都是浮点数3.字符串:可以使用模板字符串,${}4.数组: 1.元素类型后面加上[]:let list: number[] = [1, 2, 3]; 2.数组泛型:let list: Array<number> = [1, 2, 3]; <T>:泛型变量用于表示类型而不是值5.元组 元组类型允许表示一个已知元...

2020-03-13 12:05:35 194

原创 uni-app02

今天主要完成首页的开发1.首页搜索框的配置"style": { "app-plus":{ "scrollIndicator":"none",//隐藏滚动条 "bounce":"none",//关闭反弹效果 "titleNView":{ // 搜索框配置 "searchInput":{ "align"...

2020-03-11 22:18:38 106

原创 模块化

1.早期的JavaScript只是作为一种简单的脚本语言,甚至没有类的概念,更不用说模块(module) JavaScript越来越不容易支撑住发展的越来越快的前端2.CommonJS 1、CommonJS规范,一个单独的文件就是一个模块,每一个模块都是一个单独的作用域,也就是说 在该模块内部定义的变量,无法被其他模块读取,除非定义为global对象的属性 ...

2020-03-10 11:50:20 117

原创 uni-app-01

1.从今天开始学习uni-app,一次开发,多端可用2.uni-app基于vue,同时也有自身的一些特点(类似于vue和小程序)3.开发工具:HBuilder X,可以多端进行调试,真机调试,详情请看官方文档4.这个项目的最终效果是做一个类小米商城,达到多端兼容的效果5.第一天,引入uni.css-官方UI库 animate.css-第三方CSS动画库 icon.css-图标库c...

2020-03-10 10:38:13 178

原创 手写Promise

//js const PENDING = 'pending'; const RESOLVED = 'resolved'; const REJECTED = 'rejected'; function MyPromise(fn) { // 保存初始化状态 var self = this; // 初始化状态 this...

2020-03-09 21:27:17 175

原创 前端性能优化

1.第一个方面是页面的内容方面(1)通过文件合并、css精灵图、使用base64等方式来减少HTTP请求数(2)通过DNS缓存机制来减少DNS的查询次数(3)对常用不变的资源进行缓存(4)使用延迟加载的方式,来减少页面首屏加载时需要请求的资源(5)预加载 2.第二个方面是服务器方面(1...

2020-03-09 21:21:11 84

原创 Flex

flex布局 1.任何一个容器都可以指定为flex布局,行内元素也可以指定为flex布局 设为Flex布局以后,子元素的float、clear和vertical-align属性将失效 2.采用flex布局后,叫容器,它所有子元素,称之为项目 3.容器默认存在两根轴:水平的主轴(main axis)和垂直的交叉轴(cross axis) 主轴的...

2020-03-06 12:10:32 115

原创 Axios

//axios//首先需要知道:axios不是一种新的技术。//axios 是一个基于Promise用于浏览器和nodejs的HTTP客户端,//本质上也是对原生XHR的封装,只不过它是Promise的实现版本,符合最新的ES规范,有以下特点://从浏览器中创建 XMLHttpRequests//从 node.js 创建 http 请求//支持 Promise API//拦截请...

2020-03-06 10:33:26 1323

原创 EasySort

//##排序和搜索算法 //1.冒泡排序 //2.选择排序 //3.插入排序 //4.归并排序 //5.快排 //1.首先,在数组中选择一个值作为主元,也就是数组中间的那个值 //2.创建两个指针引用,左边一个指向数组的第一个值,右边一个指向数组的最后一个值 //移动左指针找到一个比主元大的值,移动右指针找到...

2020-03-05 11:19:52 172

原创 Graph

function Graph() { // 属性 this.vertexes = [] // 存储顶点 this.adjList = new Dictionay() // 存储边 // 添加方法 Graph.prototype.addVertex = function (v) { this...

2020-03-05 11:18:28 233

原创 BinarySearchTree

//##树 //1.二叉树:几乎所有的树都可以表示成二叉树的形式 //2.完全二叉树:只有叶节点不是满的,且优先为左侧节点 //3.二叉搜索树(BST): //非空左子树的所有键值小于根节点的键值 //非空右子树的所有键值大于根节点的键值 //左右子树本身也是二叉搜索树 //利用了二分查找的思想,查找所需的最大次数为BST的深度 ...

2020-03-04 17:03:51 116

原创 Dictionary

// ##字典 //一一对应,key不可以重复,value可以重复,key无序 // 创建字典的构造函数 function Dictionary() { // 字典属性 this.items = {} // 字典操作方法 // 在字典中添加键值对 Dictionary.prototype.s...

2020-03-04 17:00:57 126

原创 HashTable

// ##哈希表 //理论居多,编码较容易 //1.优势:非常快速的插入-删除-查找操作,比树还快 //2.缺点:数据没有顺序,不能以固定的方式来遍历 //3.哈希表究竟是个啥? //结构就是数组,神奇于下标值的变换-哈希函数,获取HashCode //将字符串转成下标值 //4.哈希化:将大数字转化为数组范围内下标的过程 //...

2020-03-03 13:15:39 124

原创 URL输入到网页打开

输入url,到网页完全打开? 首先读取缓存,搜索自己的DNS缓存,找到了IP地址就直接访问 1.DNS解析 由DNS服务器来将域名解析成为对应服务器的IP地址 2.TCP连接 知道了服务器的IP后,需要三次握手协议才能建立连接,发送3个包 确认双方的发送和接受能力都是正常的,指定自己的初始化序列号 实质连接服务器...

2020-03-02 14:58:48 328

原创 DoublyLinkedList

//双向链表 //链接是双向的,一个链向下一个元素,一个链向上一个元素,同时控制next和prev两个指针 //head/tail function DoublyLinkedList(){ function Node(data){ this.data =...

2020-03-02 14:44:28 198

原创 LinkedList

//链表 //内存中不是连续的空间,元素本身节点和指向下一个元素的引用 //单向链表 function LinkedList() { function Node(data) { this.data = data; this.nex...

2020-03-02 14:42:25 110

原创 Queue

//##队列//基于数组实现//先进先出functionQueue(){this.items=[];Queue.prototype.enqueue=function(element){this.items.push(element);}Queue.protot...

2020-03-01 21:59:43 112

原创 居中方法汇总

1.水平居中1.行内元素首先看父元素是不是块级元素,如果不是则改成块级元素,再给父元素添加text-align: center;2.块级元素1.方法一1.定宽度谁居中,给谁设置margin: 0 auto;2.不定宽度默认子元素的宽度和父元素一样,这时需要设置子元素为display: inline-block;或display: inline;给父元素设置 text-align:...

2020-03-01 21:54:27 277

原创 Stack

//基于数组实现//后进先出 function Stack(){ this.items = []; Stack.prototype.push = function(element){ this.items.push(element); } Stack.prototype.pop = functi...

2020-02-29 17:19:11 92

原创 原型/原型链

1.JS受Java的影响,数据类型都是对象类型,那么必须要一套继承机制2.Java通过new的方式,通过类生成了一个实例对象,但是JS中并不存在类的概念 但是他们都存在一个共同点,就是都有构造函数 Java是内部调用了构造函数,于是JS把new一个类设计成了new一个构造函数 构造函数成为了一个实例对象的原型对象3.为什么要设计原型对象 上面的原型设计有一个致命...

2020-02-28 12:41:02 110

原创 BFC

1.BFC?块级格式化上下文:页面中的一块渲染区域,有自己的渲染规则,决定了子元素如何布局,以及其他元素的关系2.原理1.内部的box在垂直方向一个个放着2.box垂直上的距离由margin决定,属于同一个BFC的相邻两个box的margin会重叠3.BFC就是页面上一个隔离的独立容器,容器里的子元素不会影响外面的元素4.计算BFC高度,浮动元素也计算在内5.BFC不会和float ...

2020-02-25 14:57:28 115

原创 Vue/React的区别

1.设计原理Vue:渐进式框架,采用自底向上增量式开发的设计React:主张函数式编程,纯组件,数据不可变,单向数据流,也可以通过onChange/setState来实现双向数据流2.编写语法Vue:webpack+vue-loader的单文件组件格式,保留了html,css,js分离的写法React:没有模板,直接就是渲染函数,中间返回的就是一个虚拟DOM树,使用JSX+inline ...

2020-02-25 14:02:34 153

原创 JsDesignModel第六篇

架构型设计模式 一类框架结构,通过提供一些子系统,指定他们的职责,并将它们条理清晰的组织在一起 1.同步模块模式 模块化:将复杂的系统分解成高内聚、低耦合的模块,使系统开发变得可控、可维护、可拓展、复用率更高 同步模块模式(SMD),请求发出后,无论模块是否存在,立即执行后续的逻辑,对模块的立即引用 1.1排队开发...

2019-12-24 00:28:23 383

原创 JsDesignModel第五篇

技巧型设计模式 通过特定技巧来解决组件某些方面的问题 1.链模式 在当前对象方法中将当前对象返回,实现对同一个对象多个方法的链式调用 1.1深究jQuery 链模式基于原型继承,在每一个原型方法的实现上都返回当前对象this 使当前对象一直处于原型链作用域的顶端 1.2.原型式继承...

2019-12-23 22:55:33 668

原创 JsDesignMode第四篇

行为型设计模式 不同对象之间职责划分或算法抽象,类或对象之间的交流模式并加以实现 1.模板方法模式 父类定义一组操作算法骨架,将实现步骤延迟到子类中 子类可以不改变父类算法结构的同时重新定义算法中某些实现步骤 1.1提示框归一化 将多个模型抽象化归一,从中提取出来一个最基本的模板 可以作为...

2019-12-16 14:32:46 212

原创 JsDesignMode第三篇

结构型设计模式 如何将类或对象组合成更大、更复杂的结构,简化设计1.外观模式 1.1为一组复杂的子系统接口提供一个更高级的统一接口 通过这个接口对子系统接口的访问更容易 //添加一个点击事件 document.onclick = function(e){ e...

2019-12-11 22:24:30 303

原创 JsDesignMode第二篇

创建型设计模式 处理对象创建的设计模式,控制对象的创建来避免基本对象创建时 可能导致设计上的问题或增加设计上的复杂度1.简单工厂模式 1.1也称为静态工厂方法 由一个工厂对象决定创建某一种产品对象类的实例,创建同一类对象 1.2类太多,提供一个 //封装在一个函数中,只需要记住这个函数,不需要知道...

2019-12-10 17:40:35 153

原创 ES6上

1.let和const命令 1.1let命令 类似于var,let声明的变量只在let命令所在的代码块有效 1.不存在变量提升 2.暂时性死区 使用let声明之前,该变量都是不可用的 3.不允许重复声明 在相同作用域不能重复声明同一个变量,不能在函数内部重新声明变量 1....

2019-12-09 16:07:13 160

原创 JsDesignMode第一篇

1.灵活的语言JS 1.1验证表单 function checkName(){ //验证姓名 } //创建了全局变量 1.2函数的另一种形式 var checkName = function(){ //验证姓名 } //别人定义相同的方法会覆盖掉原有的方法...

2019-12-09 00:22:06 409

原创 viewport和移动端布局

viewport和移动端布局前端开发中,响应式布局通常需要适应不同分辨率的设备常用的自适应解决方案包括媒体查询、百分比、rem和vw/vh1.px和视口在静态页面中我们经常使用像素(px)作为单位,来描述一个元素的宽高以及定位信息在pc端,通常认为1px表示的真实长度是固定的但是在不同的设备上,px的大小显示结果肯定会不一致,移动端显示较小那么css中的1px的真实长度到底由什么决定...

2019-12-02 18:28:31 1718

原创 HTTP/HTTPS

1.http和https1.http和https基本概念http:超文本传输协议,一个客户端和一个服务端请求和应答的标准用于从www服务器传输超文本到本地浏览器的传输协议https:安全的HTTP通道,加入了SSL层2.http和https的区别https需要ca证书,费用更高http是明文传输,易于拦截https更加安全http连接是无状态的3.加密1.对称加密生成一把密...

2019-12-01 15:33:19 428

原创 线程进程协程

##线程、进程、协程的区别1.批处理两个程序,一个程序在CPU上处理完了,交给第二个程序继续处理,这就是批处理2.进程CPU的速度越来越快, 远远超过了内存,硬盘的速度。程序处理过程中需要从硬盘上读取数据的时候,CPU也一直在等待,这时候可以让另一个程序来运行一下所以必须保存好前一个程序的执行现场:具体执行到哪一行程序指令了,函数调用到什么层次了每个函数调用都有什么样的参数,CPU寄...

2019-12-01 14:48:55 161

原创 JS数据结构与算法读书笔记

##数组1.几乎所有的编程语言都原生支持数组类型,数组是最简单的内存数据结构2.创建和初始化数组let daysOfWeek = [];3.访问元素和迭代元素for (let i = 0;i < daysOfWeek;i++){console.log(daysOfWeek[i]);}4.添加元素numbers[numbers.length] = 10;push:数组末尾添...

2019-11-21 15:23:45 326

空空如也

空空如也

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

TA关注的人

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