自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Java基本类型包装类

这里写目录标题包装类Integer类int和String类型相互转换自动装箱拆箱常见问题Date类SimpleDateFormat类Calendar类包装类将基本数据类型封装成对象的好处在于可以在对象中定义更多的功能方法操作该数据。基本类型能做的事情,包装类也能做。但包装类能做的,基本类型不一定能做,比如要赋一个 null 值。基本类型包装类byteByteshortShortintIntegerlongLongfloatFloatdoub

2021-09-28 19:10:42 282

原创 MySQL笔记

目录一、数据库1、数据存储方式2、数据库管理系统、数据库和表的关系二、SQL语句1、SQL语句分类2、SQL语法3、DDL语句3-1、DDL操作数据库 DATABASE(1)创建数据库 CREATE(2)查看数据库 SHOW(3)修改数据库字符集格式 ALTER(4)删除数据库 DROP(5)使用数据库 USE3-2、DDL操作表 TABLE(1)创建表 CREATE(2)查看表 SHOW DESC(3)创建一个表结构相同的表 CREATE ... LIKE(4)删除表 DROP(5)修改表结构 ALTER

2021-07-08 16:43:09 391

原创 JS 找出字符串中最长回文子串

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”回文的特性:回文串一定是对称的;回文串可能是abba型,也可能是aba型。思路:中心扩展法1.回文串一定是对称的。所以每次选择一个中心,进行中心向两边扩展比较左右字符是否相等。2.中心点的选取有两种:①aba:中心点是b②abba:中心点是两个b之间3.所以共

2021-03-28 16:25:53 1566

原创 面经

1.HTML有哪些语义化标签?为什么要语义化?h1~h6headerfootertitlenavmain:主要内容,一个页面只能使用一次。ulliemstrongHTML结构清晰,代码可读性高,便于维护,可根据标签确定上下文和权重问题。2.css选择器,权重CSS选择器表示ID选择器#idclass选择器.class标签选择器p、a等通配符选择器*(表示选择所有的标签元素)属性选择器[type=‘text’]伪类选择器:

2021-03-17 20:42:53 162

原创 JS——继承

目录前置知识借用构造函数继承☆组合继承原型式继承前置知识先了解一下JS的原型及原型链.借用构造函数继承借用构造函数,也叫伪造对象或经典继承function A() { this.colors = ["red", "blue", "green"];}function B() { //继承A A.call(this); console.log("this",this)}var instance1 = new B();console.log("instance1",insta

2020-10-21 15:47:13 109

原创 CSS——两种盒模型

盒子模型分为两种:第一种是W3C标准的盒子模型(标准盒模型)第二种IE标准的盒子模型(怪异盒模型)1、标准盒模型标准盒模型width指的是内容区域content的宽度;height指的是内容区域content的高度W3C标准盒模型下盒子的大小 = width ( content ) + border + padding + margin2、怪异盒模型怪异盒模型中的width指的是内容、边框、内边距总的宽度;height指的是内容、边框、内边距总的高度怪异盒模型下盒子的大小 = wid

2020-10-21 10:19:15 202

原创 VUE——通信、传值多种方式

目录一、通过路由带参数进行传值二、通过设置Web存储缓存的形式进行传递三、父子间通信(1)父级向子级传递 props①数组形式②对象形式③驼峰标识的注意点:④父子组件传值,数据是异步请求,有可能数据渲染时报错(2)子级向父级传递(3)父子组件的访问 $children $refs $parent $root四、vuex进行传值1、Vuex的基本使用1-1、Vuex状态管理图例1-2、小案例2、Vuex的核心2-1、State2-2、Getters2-3、Mutation(状态更新)(1)基本使用(2)传递参

2020-10-21 09:43:19 280

原创 JS——JSON.stringify/parse

JSON.stringify 就是将数字、字符串、null、对象或数组转换成字符串形式。一般用在web存储中使用,就是将对象或数组转换成字符串存储起来,使用该存储时,再通过JSON.parse转换出来。let obj = { name: 'kd', age: 32}// let obj = 123// let obj = [1,2,3]// let obj = nulllet str = JSON.stringify(obj)console.log(str)let str2 = J

2020-10-20 15:55:52 164

原创 JS——拷贝对象 深、浅拷贝

目录一、浅拷贝二、深拷贝1.JSON.stringify/parse的方法2.使用递归方法3.使用es6的Array.from(针对数组)4.使用es6的…三、总结js中的对象分为基本类型和复合(引用)类型,前者存放在栈内存,后者存放在堆内存。栈内存存放一些基本类型的变量和对象的引用变量,堆内存用于存放由new创建的对象。JS——数据类型及判断.一、浅拷贝对对象地址的复制,不会进行递归复制,并没有开辟新的栈,也就是复制的结果是两个对象指向同一个地址。var arr1 = [1,2,3,4,5];

2020-10-20 15:01:53 164

原创 JS——数组常用的方法

var arr = []arr.splice()arr.reverse()arr.fill()arr.copyWithin()arr.sort()arr.push()arr.pop()arr.unshift()arr.shift()var arr = []arr.slice()arr.map()arr.forEach()arr.every()arr.some()arr.filter()arr.reduce()arr.entries()arr.find()arr.con

2020-10-20 11:00:57 190

原创 路由hash、history的区别

vue-router 中有hash模式和history模式。在vue的路由配置中有mode选项,最直观的区别就是在url中hash 带了一个 # ,而history是没有#的,vue默认使用hash。mode:“hash”;mode:“history”;区别:名称hashhistoryurlhttps://baidu.com/#/homehttps://baidu.com/homehttp请求https://baidu.comhttps://baidu.com/

2020-10-19 22:39:08 334

原创 在浏览器输入url后发生了什么

目录在浏览器输入url后发生了什么分点解析:1.域名解析2.TCP的三次握手3.客户端发送HTTP请求4.服务器端响应资源5.浏览器渲染页面问题:在浏览器输入url后发生了什么1、域名解析2、发起TCP的3次握手3、建立TCP连接后发起的http请求4、服务器端响应http请求,浏览器得到html代码5、浏览器解析html代码,并请求html代码中的资源6、浏览器对页面进行渲染呈现给用户分点解析:1.域名解析通过本地DNS或者DNS服务器进行域名解析,将网址域名转换为服务器对应的IP地址

2020-10-19 15:27:35 246

原创 TCP的三次握手与四次挥手

一、TCP报文字段含义:seq:32位序号,用来标记数据段顺序ack:32位确认号,对上一次seq序号做出的确认号,用来响应TCP报文段,ack = seq + 1,但只有ACK标志位为1时,确认号字段才有效。标志位:允许发送方或接收方指定哪些标志位应该被使用,以便TCP报文段被另一端正确使用。SYN 简写 S,同步标志位。用来建立会话连接。SYN = 1表示一个连接请求或连接接收报文。其只有在TCP建立连接时置1,握手完成后置0。ACK 简写 . , 确认标志位。对已接收的数据包进行确认。FI

2020-10-19 15:06:48 420

原创 前端算法

对字符串、数组的查询调用,一般思路是将字符串、数组提取到对象,再操控对象。字符串中出现最多次的字符以及其次数核心算法:1、将字符存储在一个对象内,给其当属性名,属性值为出现的次数①利用charAt()遍历字符串②把每个字符都存储给一个对象,(即当做改对象的属性名)③判断该对象是否有该属性,没有,赋值1;有,则+12、取对象属性值最大值,即可得到字符串中出现最多次的字符以及其出现的次数①遍历对象②取最大值//字符串中最多次的字符以及其次数var str1 = 'abcabaabcaba'

2020-09-08 16:01:34 198

原创 JS——数据类型及判断

原始的数据类型(五种)String(字符串)、Number(数字)、Boolean(布尔值)、Null(空)、Undefined(未定义)引用数据类型Object、Array、Function判断数据类型typeof返回值有6种,都是字符串形式String、Number、Boolean、Undefined、Object、Functionconsole.log(typeof(123)) // Numberconsole.log(typeof('abc')) // Stringcon

2020-09-06 00:59:56 141

原创 JS——apply和call以及bind的区别

apply和call的区别相同点: apply和call都是用来修改函数中this的指向。不同点: 传参方式不同。apply传给函数的参数合并为一个数组作为自己的一个参数。call可以将传给函数的参数作为自己的参数。举一个例子:var name = 'Kevin';var number = 7;var person = { name: 'Curry', number: 30, sayIntroduce: function () { return "He

2020-09-06 00:18:29 175

原创 网络协议——DoS攻击

拒绝服务攻击DoS(Denial of Service):使系统过于忙碌而不能执行有用的业务并且占尽关键系统资源。就是利用合理的服务请求来占用过多的服务资源,从而使合法用户无法得到服务的响应。它是基于这样的思想:用数据包淹没本地系统,以打扰或严重阻止捆绑本地的服务响应外来合法的请求,甚至使本地系统崩溃。实现Dos攻击,常见的方式有:TCP SYN泛洪(SYN Flood),ping泛洪(ping-Flood),UDP泛洪(UDP-Flood),分片炸弹(fragmentation bombs),缓冲区溢

2020-08-25 17:33:48 557

转载 网络协议——跨域

什么是跨域?跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器施加的安全限制。所谓同源是指,域名,协议,端口均相同。不明白没关系,举个例子:http://www.123.com/index.html 调用 http://www.123.com/server.php (非跨域)http://www.123.com/index.html 调用 http://www.456.com/server.php (主域名不同:123/456,跨域)http://abc.123.c

2020-08-25 17:02:28 316

转载 网络协议——clickJacking(点击劫持)

点击劫持(ClickJacking)是一种视觉上的欺骗手段。大概有两种方式:一是攻击者使用一个透明的iframe,覆盖在一个网页上,然后诱使用户在该页面上进行操作,此时用户将在不知情的情况下点击透明的iframe页面;二是攻击者使用一张图片覆盖在网页,遮挡网页原有位置的含义。透明的iframe实际的iframe是透明,这里方便看,设置为0.3.<body> 那些不能说的秘密 <button>查看详情</button> <iframe src="

2020-08-25 15:10:33 286

原创 前端面经

面试题:DOM元素display、visibility、opacity三种隐藏方式的对比v-if和v-showvue打包优化数组、字符串原生方法页面优化vue生命周期VuexVue全家桶vue双向绑定原理及实现Promisecookies、web存储(sessionStorage 、localStorage)的区别computer、watch区别父子组件间的通信、兄弟组件的通信webpack配置git命令路由拦截盒子垂直居中DOM元素display、visibility、opacity三种隐藏方式的对比

2020-08-11 11:44:30 259

原创 JS——Promise题目

了解event loopevent loop的执行顺序:①一开始整个脚本作为一个宏任务执行②执行过程中,同步代码直接执行,宏任务进入宏任务队列,微任务进入微任务队列③当宏任务执行完出队,检查微任务列表,有则依次执行,直到全部执行完④执行浏览器UI线程的渲染工作⑤检查是否有Web Worker任务,有则执行⑥执行完本轮的宏任务,回到②,依此循环,直到宏任务和微任务队列都为空微任务包括:MutationObserver、Promise.then()或catch()、Promise为基础开发的其它

2020-08-07 11:22:42 637

原创 JS——手写Promise

目录前言Promise的大体框架Promise构造函数实现Promise.then()方法和catch()方法的实现完整代码另一篇文章:JS——Promise题目篇幅过长,这篇需要了解东西也多,因此分离出来。前言深入了解过 Promise 的人都知道,Promise 所说的异步执行,只是将 Promise 构造函数中 resolve,reject 方法和注册的 callback 转化为 eventLoop的 microtask/Promise Job,并放到 Event Loop 队列中等待执行,也就

2020-08-07 11:20:57 163

原创 JS——原型与原型链

讲原型的时候,我们应该先要记住以下几个要点,这几个要点是理解原型的关键:1、所有的引用类型(数组、函数、对象)可以自由扩展属性(除null以外)。2、所有的引用类型都有一个 ’_ _ proto_ _'属性(也叫隐式原型,它是一个普通的对象)。3、所有的函数都有一个**’prototype’属性**(这也叫显式原型,它也是一个普通的对象)。4、所有引用类型,它的 ’_ _ proto_ _'属性指向它的构造函数的’prototype’属性。5、当试图得到一个对象的属性时,如果这个对象本身不存在这个

2020-08-05 14:25:53 111

原创 JS——正则表达式

什么是正则?正则表达式实际上就是规定了一系列的字符串规则,例如说我们看到188 xxxx 8888就能知道这是一个手机号,看到zhifubao@xx.com就知道这是一个邮箱。那么,我们怎么让计算机知道这一切呢?我们人类之所以能分辨出来是因为我们心里有一个模型,我们知道十一位的数字很有可能就是一个手机号,@+邮箱品牌+.com的组合很有可能是一个邮箱。正则正式提供一种语法,让我们把自己心中的那种识别模式告诉计算机,让计算机能像我们人类一样去识别特定的字符串。创建1、构造函数:new RegExp()

2020-08-04 14:35:14 673

原创 git常用命令

git clone [url]git branch -a // 查看分支git checkout [name] // 选择分支git pull // 拉取npm igit push // 推到远程仓库

2020-07-31 17:58:46 71

原创 Vue笔记

Vue的笔记

2020-07-31 17:56:37 411

原创 JS——野指针

什么是野指针?野指针并不是NULL指针,它是一个指向“垃圾”内存的指针,也就是说指向的地址是随机的,无法得知他的地址,操作系统自动对其进行初始化。在计算机中,内存的分配由操作系统来管理,要使用内存需要先向操作系统申请,系统分配后才可以使用,而野指针的内存空间是由系统随机分配的,属于非法访问内存。野指针有什么危害?当一个指针成为了野指针,他的指向就是随机的,当你使用了一个指向随机地址的指针时,他的危害程度也是随机的,不可预测的,它一般会造成内存泄漏,而且很容易遭受到黑客还有病毒的攻击,只要将病毒什么的

2020-07-31 17:50:55 194

原创 网络协议——浅谈XSS

XSSXSS: 攻击者把恶意的脚本代码注入到网页中,等待其他用户浏览这些网页,从而触发执行恶意代码。理论上,所有可输入的地方没有对输入数据进行处理的话,都会存在XSS漏洞,漏洞的危害取决于攻击代码的威力,攻击代码也不局限于script。类型:危害性:存储型XSS > DOM型XSS > 反射型XSS反射型:通过给别人发送带有恶意脚本代码参数的URL,当URL地址被打开时,特有的恶意代码参数被HTML解析、执行,它的特点是非持久化,即不存入数据库。缺点:①需要用户点击带有特定恶意脚本代

2020-07-31 17:48:13 355

原创 CSS——Flex弹性布局及flex-grow与flex-shrink的计算

一、Flex布局flex布局就是将盒子变成弹性盒子,任何一个盒子都可以变成弹性盒子display: flex行内元素也可以使用 Flex 布局 display: inline-flex注意: 设为 Flex 布局以后,子元素的float、clear和vertical-align属性将失效。基本概念采用 Flex 布局的元素,称为 Flex 容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称"项目"。二、容器的属性

2020-07-31 16:59:13 483

转载 前端页面优化及SEO

一、路由懒加载路由懒加载是当路由被访问的时候才加载对应组件,而不是在首页就全部加载,以此来提高首页反应速度。方法一:require.ensure参数:①[ ]:依赖的模块数组②回调函数,该函数调用时会传一个require参数③模块名,用于构建时生成文件时命名使用实例:{ path: '/index', component: r => require.ensure([], () => r(require('@cp/home')), 'home')}方法二:import

2020-07-27 15:57:45 240

原创 VUE——路由验证和相应拦截的使用

包括路由拦截、响应拦截等。

2020-07-27 11:40:10 404

原创 网络协议——HTTP请求方法及get和post的区别

一、HTTP请求方法HTTP1.0 定义了三种请求方法: GET, POST 和 HEAD方法。HTTP1.1 新增了六种请求方法:OPTIONS、PUT、PATCH、DELETE、TRACE 和 CONNECT 方法。方法描述GET请求指定的页面信息,并返回实体主体HEAD类似于 GET 请求,只不过返回的响应中没有具体的内容,用于获取报头POST向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的

2020-07-27 10:10:20 274

原创 CSS——图片和span水平垂直居中问题

主要解决小图标+文字水平垂直居中的问题

2020-07-27 09:18:10 419

原创 vue双向绑定原理及实现

目录vue双向绑定原理及实现面试解释vue双向绑定原理及实现数据双向绑定原理简单概括的话就是:View层影响Model层是通过对 ‘keyup’ 等事件的监听。Model层影响View层是通过 Object.defineProperty( ) 方法劫持数据并结合发布订阅者模式的方式来实现数据的双向绑定。根据原理图来介绍整个流程:1、首先使用Object.defineProperty()中的 getter/setter 作为一个Observer(劫持器)去劫持data对象中的所有属性,在属性 s

2020-07-14 22:36:32 267

原创 网络协议——状态码及缓存(部分知识点)

面试常见状态码:状态码作用200请求成功203非授权信息204无内容返回206范围请求成功,返回部分内容301永久重定向302临时重定向303查看其它地址,客户端应采用Get方法请求304所请求的资源未修改400客户端请求语法错误401请求要求用户身份认证403服务器拒绝执行此请求404无法根据请求找到资源500服务器内部错误501服务器不支持请求的功能503服务器超载,系

2020-07-14 22:24:16 287

原创 前端性能优化——重排重绘

重排和重绘重排:节点信息计算,即根据渲染树计算每个节点的几何信息(大小及位置)。重绘:渲染绘制,即根据计算好的信息绘制整个页面,渲染出最终的页面。理论上,每一次的dom更改或者css几何属性更改,都会引起一次浏览器的重排和重绘过程,而如果是css的非几何属性更改,则只会引起重绘过程。重排负责元素的几何属性更新,重绘负责元素的样式更新。重排一定会引起重绘,而重绘不一定会引起重排。下面情况会导致重排:(1)页面首次渲染(所以渲染页面至少会有一次重排和重绘)(2)改变字体大小或数量(3)元素内容.

2020-07-13 20:43:48 481

原创 HTML5、CSS3、ES6新特性

目录HTML5新特性canvas 绘制SVG 可伸缩矢量图形属性draggable="true" 拖放audio(音频) video(视频)Web存储 localStorage、sessionStorageInput 类型CSS3新特性属性选择器元素选择器border(边框)文本效果transform 转换变形transition 过渡display="flex" 弹性盒 伸缩布局HTML5新特性标签意义article页面独立的内容区域aside页面的侧边栏内容bdi

2020-07-09 20:43:00 456

原创 前端渲染与后端渲染

网页开发发展的三个阶段以及后端路由、前端路由的解释。

2020-06-08 15:00:19 447

原创 CLI中Runtime-Compiler和Runtime-only的区别

CLI创建新项目时要选择的Runtime-Compiler和Runtime-only的区别

2020-06-04 23:39:28 179

原创 webpack打包配置

webpack打包配置的步骤

2020-06-02 14:47:29 1952

空空如也

空空如也

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

TA关注的人

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