- 博客(43)
- 收藏
- 关注
原创 TCP的三次握手,四次挥手
三次握手第一次握手:客户端发送syn报文,井发送seq为x序列号给服务端,等待服务端的确认第二次握手:服务端发送syntack报文,并发送seq为Y的序列号,在确认序列号为x+1第三次握手:客户端发送ack报文,并发送seq序列号为2,在确认序列号为y+1四次挥手第一次挥手:先由客户端向服务器端发送一个FIN,请求关闭数据传输。第二次挥手:当服务器接收到客户端的FIN时,向客户端发送一个ACK,其中ack的值等于FIN+SEO第三次挥手:然后服务器向客户端发送—个Fl,告诉客户端应
2024-01-17 21:20:19
963
原创 import和require的区别
importrequireES6中的模块导入方式Node.js中的模块导入方式使用的是ES6模块规范使用的是CommonJS规范异步加载模块同步加载模块只能在模块的顶部使用可以在代码的任何位置使用结果不能直接赋值给变量,需要使用解构赋值的方式结果可以赋值给变量静态导入模块动态导入模块
2024-01-08 16:12:26
375
原创 vue2对比vue3的生命周期
vue2vue3介绍beforeCreate()setup()创建前,vue3中setup()先于beforeCreate()created()setup()创建后beforeMount()onBeforeMount()挂载前mounted()onMounted()挂载后beforeUpdate()onBeforeUpdate()更新前updated()onUpdated()更新后beforeDestroy()onBefor
2023-11-22 16:25:49
41
原创 HTTPS和HTTP的区别
HTTPS传输过程中需要加密、解密,所以HTTPS的性能比不上HTTP。HTTPS在浏览器显示绿色安全锁,HTTP没有显示;HTTPS是加密传输协议,HTTP是明文传输协议;HTTPS标准端口443,HTTP标准端口80;HTTPS需要用到SSL证书,而HTTP不用;HTTPS比HTTP更加安全,对搜索引擎更友好。HTTPS基于传输层,HTTP基于应用层;
2023-11-15 17:55:24
41
原创 判断对象中是否包含某个key
const obj = { key1: 1, key2: 2 };// 1、Object.keys(obj).includes('key1'); // true// 2、obj.hasOwnProperty("key3"); // false
2021-11-23 15:51:43
2505
原创 清除select所有样式
<select> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option></select>select { border: none; outline: none; background: none; box-shadow: none; appearance:none; -
2021-09-29 20:05:53
596
原创 前端优化之强缓存和协商缓存
1、强缓存缓存主体:浏览器,由服务器返回的response中的header指定缓存方式。缓存机制:(1)、浏览器第一次向server发送请求,server返回response中的header中会包含expires和cache-control两个参数,规定浏览器进入强缓存模式;(2)、待浏览器第二次向server发起请求,会强制走缓存,不向server发送请求,此时状态码为304;(3)、若expires 和 cache-control 的值冲突,以cache-control为准,一般都会去改变ca
2021-06-01 19:35:48
705
原创 科学计数法
//科学计数法function num(number){ const reg = /(?=(\B)(\d{3})+$)/g; const res = String(number).replace(reg, ","); return res}console.log(num(1000000)) //1,000,000
2021-04-21 16:13:17
103
原创 深浅拷贝(面试高频)
深浅拷贝(对象与对象之间的关系)1、赋值定义:把一个对象的地址赋值给另外一个变量,两个变量操作同一个空间地址。var obj1 = { name:'Jack'}var obj2 = obj1obj2.name = 'Rose'console.log(obj1,obj2)//{name:"Rose"}{name:"Rose"}2、浅拷贝定义:把对象里面的每一个成员,复制一份一模一样的放到另一个对象里面。缺点:当对象的某一个成员是复杂数据类型的时候,这个成员的地址不会发生改变。
2021-04-15 18:38:51
92
原创 标准盒模型与怪异盒模型
1、标准盒模型(W3C盒模型)1、css样式设置* { box-sizing: content-box;}2、盒子大小大小 = 宽高 + padding + boder + margin;3、特性margin 、border 和 padding 会被加在 content 区域以外。2、怪异盒模型(IE盒模型)1、css样式设置* { box-sizing: border-box;}2、盒子大小大小 = 宽高 + margin3、特性margin 会被加在 cont
2021-04-15 11:58:42
58
原创 React路由跳转
1、params传参:(1)跳转并传递参数:(2)接收参数:在这里插入代码片<1>优势:刷新地址栏之后参数还存在;<2>劣势:只能传递字符串,不大适合传参数多或者长的。2、query传参:(1)跳转并传递参数:this.props.history.push({ pathname:"/nextPage", query:{ id:1 }})(2)接收参数:this.props.location.query.id<1>优势:传参方式优雅,能传递像
2021-04-15 11:33:35
267
原创 React多组件传值之context
import React ,{ Component } from 'react';//创建Context对象const MyContext = React.create.Context()//解构Providerconst { Provider } = MyContext//Father组件class Father extends Component{ state:{ user:'我是爸爸', age:18 } render(){ const { name, age } =
2021-04-15 11:20:14
194
原创 获取地址栏信息
在web前端制作中,可以通过javascript获取当前网页url的相关信息,整理如下:1、设置或获取对象指定的文件名或路径window.location.pathname2、设置或获取整个URL为字符串window.location.href3、设置或获取与URL关联的端口号window.location.port4、设置或获取URL的协议部分window.location.protocol5、设置或获取href属性中在井号“#”后面的分段window.location.hash6、
2021-02-02 17:03:27
503
原创 React之受控组件和非受控组件
1、受控组件(建议使用)定义:存在表单元素的组件,表单元素的值会随着用户的输入,自动存放在state里面。亮点:1、使用onChange事件;2、不会滥用ref,这也是React官方文档所提倡的。import React from 'react';interface Props {}interface State { username:string; password:string;}class Form extends Component<Props, State&
2021-01-25 17:12:48
74
原创 ES新特性
- 1、关键词const,let(1)相同点:块级作用域,不可被外部调用;(2)不同点:<1>const定义常量,值不可被修改;<2>let定义变量,值可被修改;- 2、字符串const str1 = `hello`const str2 = `world`const str3 = `${str1} ${str2}`console.log(str3) //hello world利用反引号(``)包住字符串,利用${}拼接变量;- 3、字符串方法拓展cons
2020-12-27 01:29:04
173
原创 vue/react表单检验为空不通过
1、Vue版说明:(1)如果检验未通过,input框的border-color会变成红色;(2)ref的值和v-model绑定值的key必须一样才能生效;<template> <input ref='title' ref='title' v-model='formData.title'/> <input ref='name' ref='name' v-model='formData.name'/></template><script&g
2020-12-23 10:50:32
939
原创 获取当前时间,并格式化
getFormatDate() { var date = new Date(); var month = date.getMonth() + 1; var strDate = date.getDate(); if (month >= 1 && month <= 9) { month = "0" + month; }
2020-12-11 09:26:25
78
原创 node连接mysql
npm install mysqlconst mysql = require('mysql');//1、创建连接const connection = mysql.createConnection({ host:'localhost', user:'root', password:'root', database:'my_db',});//2、连接数据库connection.connect();//3、执行数据操作connection.query('select * from use
2020-12-10 18:29:02
124
原创 文字溢出不换行,省略号显示
overflow:hidden; //超出的文本隐藏text-overflow:ellipsis; //溢出用省略号显示white-space:nowrap; //溢出不换行
2020-12-10 14:41:47
107
原创 CSS中图片居中显示不拉伸,且占满盒子大小
CSS中图片显示居中不拉伸,且占满盒子大小<div class="img_box"> <img class="img" src='URL'/></div>.img_box{ width:200px; height:200px; position:relative;}.img { max-width: 100%; max-height: 100%; position: absolute; top: 0; right
2020-08-03 12:35:56
1097
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人