自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 antd使用相关笔记

文章目录modal设置样式无效checkboxform设置值modal设置样式无效因为挂在div外,所以用less时包在该组件的根div下的css样式设置无效,需设置:<template> <div class="jt-tag-set" ref="jtTag"> <a-modal v-model="visible" @ok="handleOk" :getContainer="() => $refs.jtTag"

2021-10-09 09:49:14 492

原创 前端理解base64

一、背景:ascii码字符=>二进制计算机中所有数据的存储都是以二进制模式,比如想要存储abcd需将其转化为二进制,具体用哪些二进制来表示哪个符号*,有一个统一的编码规则,这就是ascii。ASCII 码使用指定的7 位或8 位二进制数组合来表示128 或256 种可能的字符。(2的八次方=256,8个bit可以用来表示0-255)0-127可以表示大小写的26个字母、加减乘除符号、阿拉伯数据还有控制字符比如换行符等。观察百度百科上的ascii码表(128个字符)可以发现第八位都是0,等于

2021-03-02 17:30:40 1689

原创 【vue】利用prettier插件规避烦人的eslint报错和代码不规范

本文主要包括两点:大家协同开发代码各异,eslint加上@vue/prettier采取recommended+prettier组合可使得代码更规范使用vscode的prettier插件在修改保存时自动格式化代码插件首先需要vscode安装 prettier插件修改package.jsonprettier+recommended得包括如下库,不足的补上 "@vue/cli-plugin-babel": "^4.3.1", "@vue/cli-plugin-eslint": ".

2021-01-14 15:13:15 2179

原创 简单面试题

JSJs数据类型,区别是什么,如何判断基本:undefined,null,boolean,number,string引用类型:普通对象,数组对象,日期对象等等symbol区别:按值引用和按址引用,值类型存在于栈内存中,引用类型会在对内存中为其开辟一段空间typeof 有限制,判断引用类型判断不出来,都是object,引用类型只有函数可以判断出来,且null也是objectinstanceof后面只可以跟引用类型,返回值是boolean值,不可以判断null,null直接用===就好了万能方

2020-12-03 15:50:25 264

原创 github如何贡献代码

在github页面找到想贡献的代码,点击fork在自己的文件夹中就出现了该代码git clone自己文件夹内该代码的地址到本地git@github.com:yournamexxx/yyyy.git添加远程源, 地址为作者的文件夹,这样作者每次更新,你也可以fetch到git remote add upstream git@github.com:authorxxxx/yyyy.git如果upstream设置错了,可以使用git remote rm upstream删除,再重复步骤4.

2020-12-01 10:36:40 278

原创 nodejs基础一

文章目录一、node是什么?1 目的2 是什么3 特性4 npm5 V8引擎二、介绍node1 nodejs能做什么2 书本3 学到什么三、基本编写1 读写文件api简单的http2 基础3 处理响应不同路径响应不同结果四、总结一一、node是什么?1 目的只有了解服务端才可更好配合服务端开发人员,前端+后端+运维部署2 是什么前端:html、js、css后端:JAVA、PHP、Python、Rudy、Net、Nodejsnode不是一门语言不是库、不是框架是一个js运行环境,可以解析

2020-09-23 16:27:38 571 1

原创 cdn学习

文章目录一、互联网协议基础OSI模型TCP/IP模型TCP/IP的封装UDP和TCP的封装(传输层)网络层HTTP协议DNS协议DNS技术基础DNS概念DNS域名结构与系统结构DNS域名分级DNS服务器DNS报文与资源记录DNS查询方式和解析流程常用DNS工具一、互联网协议基础OSI模型OSI模型将其划分为7层,如下【模型分层的优点】:促进标准化工作,允许各个厂商进行开发各层之间相互独立,把网络操作分为低复杂度单元灵活性好,某一层内容不变不会影响到别层,设计者可专心设计和开发模块功能【

2020-08-27 09:58:44 287

原创 Rxjs学习与promise的比对

文章目录常见的异步编程准备工作回调函数和promise同步回调函数PromiseRxJS处理异步Rxjs unsubscribe中途撤回Rxjs订阅后多次执行Rxjs的工具函数常见的异步编程1、回调函数2、事件监听/发布订阅3、Promise4、Rxjs准备工作为了方便演示,可新建一个服务为request,最后在app.module中引入及注入该服务。具体见Angular服务的使用随后在组件中引入该服务回调函数和promise同步服务中: getData(): any {

2020-08-18 18:07:20 434

原创 Angular父子组件通信及和vue的对比

父组件给子组件传值-@Input父组件不仅可以给子组传递简单的数据,也可以把自己的方法整个传递给子组件1 传入数据<app-sub-dom [msg]="msg"></app-sub-dom>2 子组件引入Input模块import {Input} from '@angular/core';3 子组件获取父组件数据@Input('msg') title: string;...

2020-08-17 16:16:03 407

原创 git在http协议切换账号/输错账号密码如何更改

掩面哭泣,为什么提交总会出问题这次是因为我push到gerrit上的时候第一次用错成了自己的账号,然后想更改成公司的,不再跳出登录界面了,改不了。(因为只有公司账号上设置了agreement,才有权限push)这个和以下情况类似:使用Git命令去clone Gitlab仓库的代码时,第一次弹框提示输入账号密码的时候输错了,然后后面就一直拒绝,不再重复提示输入账号密码(【注意】github使用ssh不用登录,但要是用http pull代码下来,首次push的时候需要登录)解决办法:清除保存好的账号密码

2020-08-14 17:38:07 1568 1

原创 Angular中使用viewchild操作dom和子组件

ViewChild获取dom节点首先在项目中新建名为dom的组件步骤模板中给dom节点起名字在业务逻辑中引入viewchild通过viewchild装饰器获得dom节点在ngAfterViewInit中操作dom节点示例html中写一个id为myBox的节点<h2>dom works!</h2><div #myBox>hello</div>ts中引入ViewChild并使用该装饰器获取节点import { Component

2020-08-13 10:48:13 579

原创 Angular生命周期带实例讲解

vue中的生命周期函数为beforeCreated,created,beforeMouted,mounted,beforeUpdated,updated,beforeDestroyed,destroyedAngular内的组件生命周期函数简单示例为了更好示范,找一个组件试一下,全部打印出来,翻出之前建立好的项目,使用ng g component components/hook新建hook组件,然后改写该组件的ts文件如下import { Component, OnInit, DoCheck.

2020-08-12 17:22:52 867

原创 Angular服务的使用(以localStorage为例)

文章目录Angular中的服务创建服务命令引入并配置服务其他组件使用服务以localStorage为例实现Angular中的服务angular是基于模块化、组件化的开发方式,默认情况下组件中无法互相调用方法,有一些公共功能可以封装在服务里。想在哪个组件里用公共的方法,就可以从服务中直接引入。在vue中就是自己直接新建一个文件夹,里面写上js文件,exports出来,再在需要用到的.vue文件的script标签中import。没有像angular这样可以通过cli创建。创建服务命令可以通过an

2020-08-11 16:38:42 1033

原创 从头学Angular

文章目录angular目录结构目录概览核心文件app.module.ts 根模块app.component.ts什么是z自己创建一个组件试试angular目录结构目录概览ng new创建完项目得到目录,开发一般只用到src,所以仅说明src目录app ------------------ 组件及根模块文件asset ----------------- 静态资源文件browserlist -------------------- 支持浏览器文件index.html --------- 入口文

2020-08-07 16:29:31 390

原创 windows下的node与cnpm配置踩坑

之前都是在mac下用,发现windows下要配置的还挺多,还出现了一些错误主要解决以下错误node_global全局依赖存放路径配完了如何修改,为何卸载重安node都没变node_global运行修改命令没生效如何处理cnpm命令不被识别cnpm环境变量配置完了还不被识别下载node及环境变量去官网下载对应的exe,然后安装就好了,安装的时候注意选择add to path,就不用自己配置环境变量了。最好再去环境变量那里检查一下,看一眼path里面有没有为什么要配置环境变量win.

2020-08-06 15:54:59 665

原创 Maven

文章目录1. Maven是什么1.1 maven的作用*:2 Maren环境配置3 Maven管理jar包的方式3.1 坐标方式3.2 Maven三种仓库的概念3.3 设置阿里云4 POM5 maven常用命令clean,清楚targetcompile,编译test-compile,编译测试代码test,运行测试代码package,打包intsalltomcat:run6 maven命令的生命周期及执行顺序clean生命周期1. Maven是什么appche项目构建工具,帮助构建管理java项目。用ma

2020-08-04 18:19:11 264 1

原创 k8s与pod概念

此文章为学习过程中根据网上资源整合总结文章目录1 为什么需要k8s1.1 应用部署模式的演进1.11 模式对比1.12 各模块介绍1.2 管理大量的容器----k8s2 ks8的集群架构3 pod---k8s调度的最小单元3.1 一个 pod 包含一组容器,一个 pod 不会跨越多个工作节点3.2 pod是什么1 为什么需要k8s1.1 应用部署模式的演进1.11 模式对比虚拟化模式:容器化模式:1.12 各模块介绍【虚拟机】是一种高度隔离的软件容器,它可以运行自己的操作系统和应用.

2020-08-04 14:16:03 14966 1

原创 5G【未完】

文章目录5G驱动力及应用场景移动通信发展历史&5G驱动力5G应用场景4G改变生活、5G改变社会5G驱动力及应用场景移动通信发展历史&5G驱动力基本上每十年一次通信技术变革1G:80年代,大哥大,基本无线通话2G:1990年,功能机出现,实现漫游、低俗数据业务,比如短信3G:2000年,智能机时代,网络应用有很大提升4G:2010年,智能机,各样app应用,手机上网得到普及【为什么进行5G网络设计和建设?】1G-4G关注的是人与人之间交流,5G关注物与物、人与物的连接,终端

2020-08-04 10:13:19 797

原创 nfv简要介绍

文章目录3. nfv3.1定义:3.2 NFV和SDN关系:3.3 nfv意义:3. nfv3.1定义:网络功能虚拟化,通常是指路由器、防火墙、负载均衡等网络设备的软件化。SDN 将网络转发功能与网络控制功能分开,其目标是创建可集中管理和可编程的网络。传统的网络设备都是专用硬件设备,像防火墙,入侵检测,负载均衡等等。现在利用云的虚拟化技术,可以在通用的服务器上运行相应的软件来实现这些功能。核心思想是将网络硬件设备通过虚拟化技术,集成到通用的x86架构的服务器或者其他硬件平台上。然后再通用标准的硬

2020-07-22 16:46:34 569

原创 SDN相关知识总结

文章目录1. SDN1.1 SDN定义1.2 传统网络1.3 OpenFlow1.4 sdn特点1.5 总结:1.6 sdn的优点1. SDN1.1 SDN定义sdn的本质是网络软计化,提升网络可编程的能力,可以看做是一个网络的安卓系统,是一次网络架构的重构。1.2 传统网络传统网络是分布式控制的架构,每台设备都是独立收集网络信息,独立计算,并且都只关心自己的选路。传统网络分为管理平面、控制平面和数据平面管理平台包括设备管理和业务管理。设备管理负责网络拓扑、设备接口和设备特性的管理,也可给

2020-07-22 16:42:17 1118

原创 前端面试题总结--css篇

摘要经过实习秋招的面试,总结了一些前端面试题,此处为css篇章,答案是简略答案,详细可自行搜索1. 盒模型margin,border,padding,content在标准盒模型中,width设的是content的宽度在IE怪异盒模型中,width设的是content+padding的宽度标准 box-sizing: content-boxie怪异 box-sizing: bor...

2020-03-26 15:52:57 165

原创 js面试题及简要答案(持续更新)

文章目录基本类型和方法js值类型和引用类型的区别call,apply,bind区别undefined === null?什么是变量提升Object.create是什么JS类型判断的方法有哪些JS类型和基础类型数组去重的几种方法原型解释原型和原型链new一个实例的过程如何用class实现继承如何用class实现继承constructor和prototype的区别实现继承的几种方法作用域解释作用域、作...

2020-03-26 15:27:25 252

原创 javascript快速排序

递归法这个比较简单,对一个数组取中间一位(要把它提出来,删掉),然后遍历剩余数组,比该值小的放左边,大的放右边。对分好的数组继续执行这个方法。function jsQuickSort(array) { if (array.length <= 1) { return array; } const pivotIndex = Math.floor(arr...

2020-03-26 14:05:40 109

原创 vue响应式原理 源码解析

引言从状态生成dom再输出到用户界面显示的流程叫做渲染,应用在运行时会不断进行重新渲染。而响应式系统赋予框架重新渲染的能力。变化侦测的作用就是侦测到数据的变化,当数据变化时,会通知视图进行相应的更新。追踪变化Vue.js的响应式原理依赖于Object.defineProperty,这个方法就是用来追踪变化的,该方法的更详细的MDN说明文档在Object.defineProperty。Obj...

2020-03-20 14:07:06 184

原创 call、apply和bind

区别bind是绑定,call和apply都是绑定并执行像箭头函数,箭头函数的this在定义时绑定,内部用了bindcall和apply的区别,apply接收两个参数,第一个参数是要绑定给 this 的值,第二个参数是一个参数数组,和 call 很相似,第一个参数是 this 的指向,从第二个参数开始是接收的参数列表。...

2020-03-20 01:03:55 88

原创 js几种继承方式

原型链继承原型链本身就是为了继承的function Animal (color) { this.color = color}Animal.prototype.sleep = function () { console.log('hu hu hu...')}function Cat () {}Cat.prototype = Animal.prototype // 方法1Cat...

2020-03-20 00:53:25 100

原创 数组和对象的深浅拷贝

文章目录浅拷贝浅拷贝和赋值如何实现浅拷贝对象数组深拷贝json实现Object.assign迭代递归法浅拷贝浅拷贝和赋值基本数据类型可以直接赋值引用数据类型直接赋值,那是指向同一个引用地址,所以用浅拷贝浅拷贝只复制一层对象的属性,并不包括对象里面的为引用类型的数据如何实现浅拷贝对象function shallowCopy(src) { var dst = {}; ...

2019-09-30 14:07:46 275

原创 如何判断js数据类型

文章目录数据类型有哪些判断数据类型的方法typeofinstaceofprototypeconstructor数据类型有哪些基本数据类型:number,string,boolean,null,undefined引用数据类型:普通对象,数据对象,日期对象,函数对象es6新增一个symbol判断数据类型的方法typeoftypeof只能用来判断基本数据类型,如null,srting,...

2019-09-30 11:33:54 140

原创 详解变量提升和闭包的应用

文章目录堆栈内存变量提升带var和不带var的区别作用域链的拓展闭包什么是闭包闭包的应用堆栈内存栈内存:作用域提供一个供js代码自上而下执行的环境(代码都是在栈内存中执行)存储基本数据类型值释放:当栈内存被销毁,存储的那些基本值也跟着被销毁了(一般函数执行完成所形成的私有作用域会自动释放,除非某些内容被栈内存以外的变量占用了此时栈内存不能释放)全局栈内存只有在页面关闭的时候被释放堆...

2019-09-01 19:48:35 332

原创 vue虚拟dom解读

文章目录1. 浏览器渲染页面的过程2. 重绘和回流3. vue的优点3.1 操作真实dom的代价3.2 虚拟dom的好处3.4 虚拟dom的创建及最终转化为真实dom3.3 diff算法1. 浏览器渲染页面的过程输入url地址–>访问dns域名解析服务器解析url地址为ip地址–>找到该ip地址下的服务器的web站点管理工具->根据端口号访问对应的project文件夹–&gt...

2019-08-30 18:08:11 362

原创 自定义组件实现v-model

在项目中需要做一个标题展开框,点击展开才会显示下面的内容。因为多个地方都需要这样的可展开标题,所以做了一个自定义组件。组件需要一个双向绑定的值,控制展开/缩放。于是就思考,父向子可以用props传值,子传父用事件触发,也这样实现了。后来了解到v-model其实就是数据绑定和事件触发的语法糖,和我之前实现的类似,只不过我自己的实现是自己定义个事件名,而v-model的事件是input事件。于是改写...

2019-08-30 14:13:03 1866 2

原创 js浮点乘除bug

在做项目的时候涉及到百分数小数的显示转化,对小数进行乘除发现出不精确的问题,比如a=0.69,c=a*10,得到的确是6.8999999999999995,这是一个JS浮点数运算Bug,于是找到了乘除的解决办法,代码如下文章目录浮点乘浮点除浮点乘function floatMul (arg1, arg2) { // 解决浮点乘法 let m = 0, s1 = arg1...

2019-08-28 15:52:28 142

原创 项目中对数组和字符串的处理

最近做的项目中涉及前端做数据的聚合和处理,用到了很多数组的方法,所以依据功能进行分类总结防止混淆文章目录1. 遍历类(只有直接对item操作才会改变,返回值需要特别注意)forEachmapfilterfindsomeeveryfor遍历2. 增加删除类(改变原数组,返回值需要特别注意)push&&popshift&&unshiftsplice3. 截取和拼接...

2019-08-28 15:32:16 275

原创 ajax及http基础知识

ajax操作AJAX 这个词是 JavaScript 脚本发起 HTTP 通信的代名词,也就是说,只要用脚本发起通信,就可以叫做 AJAX 通信具体定义见ajax,局部刷新与全局刷新a.【创建ajax实例】,XMLHttpRequest对象let xhr = new XMLHttpRequest();b. 【打开请求】:发送请求之前的配置项目HTTP METHOD 请求方式GET...

2019-08-08 21:08:47 297

原创 ajax的同步异步易混淆点

文章目录基础例1例2例3例4基础浏览器是多线程的,一个进程有多个线程。js是单线程,模拟异步。所以分为主任务队列,等待任务队列【readyState值】//=>0 刚开始创建ajax对象,还没有发送//=>1 已经执行了open操作//=>2 已经发送ajax请求,已经收到响应头信息但还没收到响应主体//=>3 响应主体正在返回//=>4 响应主体已...

2019-08-08 21:06:52 215

原创 【webpack】5.开发和生产模式的配置加载

之前做的一直是开发模式,但要上产线时候要是生产模式。几乎所有的loader都会去参考webpack.config.js的mode。所以要用不同的文件去控制1. script标明两份配置文件之前的配置文件叫webpack.config.js,是开发模式的配置文件,可将其改名为webpack.dev.js,复制该文件并命名为webpack.prod.js这样就有两份配置文件。那怎么去调用/加...

2019-08-02 16:21:35 507

原创 【webpack】4.webpack-dev-server思考

文章目录1. 自动监控刷新 --watch2. 网页刷新 webpack-dev-server准备条件安装运行不同配置1. 自动监控刷新 --watch在package.json中配置 "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "pack": "node_modul...

2019-08-02 11:45:46 226

原创 【webpack】3. 将入口html也打包

文章目录安装配置解决缓存通过前两章,发现用webpack想做的就是一个入口,一切都从index.js开始,或者一切都从webpack.config.js开始,其他都不用管,告诉入口即可。通过对loader的学习,发现图片,css,js,数据都可以被webpack管理,只有index.html不可以,还得手动指定打包后的js的地址。若是希望把html也交由webpack管理,需要安装一个插件...

2019-08-02 11:10:33 696

原创 【webpack】2. loader---动态加载css样式,文件,数据

文章目录webpack loader1. 准备工作:创建项目2. 使用loader3.标明css来源webpack loaderwebpack本身就能理解js,所以可以随意import不需要loader,但是如果import的是其他文件比如css,则不能理解,需要告诉它css怎么加载,这就是loader的职责。css用css-loader和style-loader1. 准备工作:创建项目...

2019-08-01 19:38:18 2045

原创 ajax, 全局刷新, 局部刷新

1 ajaxajax: async javascript and xml 异步的js和xml在ajax中的异步泛指“局部刷新”, 在以后的ajax请求中尽可能使用异步获取数据(因为异步数据获取不会阻塞下面代码的执行)XML是一种文件格式(我们可以把HTML理解为XML的一种):可扩展的标记语言,用自己扩展的标签来存储一些数据和内容(举例如下), 这样存储的好处是清晰展示出数据结构&lt...

2019-07-30 21:03:52 1018

空空如也

空空如也

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

TA关注的人

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