- 博客(29)
- 收藏
- 关注
原创 客户端和服务端通信
HTTP说短链接,是客户端向服务器发送一次请求后,服务器返回数据后便会断开链接。而且只能说客户端向服务器请求,他们之间不能通信。socket是长连接,可以维持很久。服务器和浏览器之间可以互相通信。HTTP是应用层的协议,是基于TCP连接的,主要解决如何包装数据。将HTTP请求从Web 浏览器异步传输到Web 服务器的方法。socket是套接字,是UDP、TCP的api,它不是协议。TCP、UDP是传输层协议,主要解决如何在网络中传输。AJAX可以看作是对xhr对一层封装,直接调用。
2023-11-17 11:56:18
119
原创 canvas
canvas类似于html其他标签一样,可以直接使用(现在一般的都是可以直接使用看起来和元素很相像,唯一的不同就是它并没有 src 和 alt 属性。实际上, 标签只有两个属性width和height。
2023-11-17 10:18:06
122
原创 浏览器机制
这就是所谓的 JavaScript 编译。TCP 的“三次握手”技术经常被称为“SYN-SYN-ACK”——更确切的说是 SYN、SYN-ACK、ACK——因为通过 TCP 首先发送了三个消息进行协商,然后在两台电脑之间开始一个 TCP 会话。请求 CSS、JavaScript 和 web 字体这些内容,它将在后台检索资源,以便在主 HTML 解析器到达请求的资源时,它们可能已经在运行,或者已经被下载。查找资源的位置,根据导航传进来的值,去找映射到的IP值,如果第一次访问这个网址的话,就要进行DNS查询。
2023-11-16 11:54:45
184
原创 内置对象的常用方法
在javascript中,所有的数组类型都是ObjectObject()创建一个新的 Object 对象。该对象将会包裹(wrapper)传入的参数静态方法静态方法就是绑定在构造函数或者说是原型对象上的通过复制一个或多个对象来创建一个新的对象。Object.assign(源数据,复制到的对象)2. Object.entries()返回给定对象自身可枚举属性的 [key, value] 数组。3. Object.freeze()防止删除、修改、添加对象的属性4. Object.seal()
2023-11-16 11:32:10
86
原创 webpack5打包基础知识
生产模式就是开发完成代码后没我们需要得到代码将来部署上线。这个模式下要对代码进行优化优化代码运行性能优化代码打包速度。
2023-08-14 17:47:14
295
原创 export、export default、import || module.export、exports
1.module.exports 和exports 是commonjs的规范2.export 和export default 是es6 规范3.require 是amd规范引入方式4.import 是es6 的一个语法标准。
2023-08-11 11:23:52
202
原创 Promise学习
1. 实例Promise对象,需要给一个执行器函数} )2. Promise实例对象上有.then方法 所以要在Promise原型对象上绑定.then方法// executor形参实际是一个函数。
2023-08-10 14:10:52
67
原创 vue3学习
语法:function 自定义ref(value){return {})通过customRef完成防抖功能</</setup() {// 实现防抖 function myRef(value) {return {get() {track();// 追踪变化 return value;trigger();// 通知vue重新解析模板 } , 1000);} , };});
2023-07-27 18:05:44
134
原创 Vue学习3 vuex route
原因是child1、child2、child3的历史记录模式是replace 所以点击child1之后会把about给替代了,点击child2之后会把child1给替代了,点击child3之后会把child2给替代了【历史记录栈中的内容为 808x,home,child3】 点击返回依次回到home 808x。进入网页之后,依次点击home、about、child1、child2、child3之后, 再点击后退会回到home 再点击后退回到localhost:808x。actions,响应组件中的动作。
2023-07-25 16:05:12
420
原创 Vue学习(2)
自定义事件与原生事件不同在于1. 自定义事件指的是绑定在组件上的自定义事件。原生事件指的是DOM上 如click mousemove等2. 原生事件不会因为生命周期的destroy而销毁,他会一直在执行,而组件的自定义事件在destroy之后就不会在执行了。自定义事件自定义事件是使用$emit来触发自定义事件$off解绑自定义事件自定义事件可以实现子组件给父组件发送消息除了自定义事件之外,还有props和ref也可以实现子组件给父组件发送消息父组件。
2023-07-24 08:19:41
194
原创 vue学习1
指令的作用就是修改dom。自定义指令何时调用:1. 指令与元素成功绑定(初始化的时候);2. 指令所在的模板重新被解析时。指令中的this都是指向window函数式name } } < / h1 > < p v - text = "n" > < / p > < p v - big - number = "n" > < / p > < button @click = "n++" > 点击 < / button > < / div > < script > new Vue({return {
2023-07-18 18:24:22
232
1
原创 jQuery
jQuery就是JavaScript的一个库,快速操作DOM。jquery的顶级对象$ ,$是jquery的别名1. jQuery的使用$(document) 当前文档,整个网站 一般用与加载完成、键盘按键等。$(window) 当前视口 一般用于窗口变化,滚动scroll 大小调整resize例子 按顺序,可以隐藏1.2 jquery对象和DOM对象基本概念原生获取dom对象jquery获取的是jqeury对象jquery获取到的dom对象是对原生获取到的对象进行封装后的对象(伪
2023-07-10 18:18:18
50
1
原创 Flex弹性布局
justify-content 设置主轴上的子元素排列方式 (默认是flex-start,左边对齐) 从尾巴排列(flex-end,右边对齐) 水平居中对齐(center) 平分剩余空间(space-around) 先两边对齐再平分中间空间(space-between)align-items 设置侧轴上的子元素摆列方式(单行)flex-start 从上到下 flex-end 从下到上 center 居中 stretch 拉伸(组合字不能给高度)屏幕发生变化的时候,元素的高度和宽度等比例缩放。
2023-07-09 20:50:55
423
1
原创 JavaScript进阶
防抖:类似于王者中的回城操作,中间有操作就会重新计时节流:类似于王者中的技能,技能发动一次,如何在冷却时间时候点击无效。
2023-07-09 11:20:55
1754
1
原创 JavaScript(2)
document.querySelectorAll(css选择器)//querySelectorAll获得到的是一个伪数组 有长度有索引号的数组,但是没有pop(),push()方法。DOM.addEventListener(事件类型,事件处理函数,是否使用捕获机制);字符串.replace(/正则字面量/,‘替换的文本’);节点类型:元素节点:所有标签:body div html 属性节点:所有的属性 如href 文本节点:所有的文本 其他。:函数a作为参数传递给函数b,函数a就是回调函数。
2023-07-06 10:31:47
305
1
原创 JavaScript(1)
null 代表空,是进行赋值了,空也是一种值,null与undefined是不一样的,null属于object。3.生成N-M的值 Math.floor((Math.random()*(M-N+1))+N。注**** 没有let声明的变量直接赋值使用后,具有全局变量的特性(不建议使用)数组名 .unshift()向数组的头部增加数据(返回值是当前数组的长度)2. 生成5-10的值 Math.floor((Math.random()数组名.push() 向数组的最后一位增加数据(返回值是当前数组的长度)
2023-07-03 14:12:42
107
1
原创 css3选择器 过渡 2d转换 动画 3d转换
nth-of-type会把指定元素的盒子排列序号,执行时先去看标签,然后再找对应的序号。scale不会影响其他盒子的大小,缩放的中心也是transform-origin来设定的。nth-child(n)这里可以制定n为几,如果直接n就是从0开始逐步加1进行变色,box-sizing = border-box = width (不会撑大盒子)然后再找对应的序号,然后再看:前面的标签,若是标签不符合,则就是没有选中。x y 为不带单位的正数 大于1 的是放大 小于1 的是缩小。
2023-06-27 12:00:31
141
原创 CSS进阶
追加 选中selection.json 然后选择要追加的图标。下载 替换掉之前的即可。中线 vertical-align = ‘middle’底线 vertical-align =‘bottom’顶线 vertical-align = ‘top’vertical-align img上的属性。展示的是图标,实际是字体。
2023-06-25 15:03:01
157
原创 自学CSS
绝对定位元素也不占有空间,但是绝对定位的元素可以在父级元素上的任何位置,浮动元素只能在之后的元素上控制位置。浮动元素只会压住他下面标准流的盒子,不会压住他下面标准流盒子里面的文字 浮动用于文字环绕效果。整体box与上的外边距为150,选择两个嵌套的box的最大的外边距作为最后的外边距。浮动元素不占空间,之前的元素占有空间不会变,浮动之后的元素会使用浮动元素的位置。根据锁定尺寸为半径的原和框的四个角对齐,将两个连接点构造的圆弧就是我们的圆角。after指的是在盒子的后面进行操作,是额外标签法的升级版。
2023-06-25 11:12:21
149
原创 自学HTML(1)
-dl中只能存放dt\dd dt是项目名称 dd是项目解释 --> < dl > < dt > xfsd </ dt > < dd > 1 </ dd > < dd > 2 </ dd > < dd > 3 </ dd > </ dl >--dl中只能存放dt\dd dt是项目名称 dd是项目解释 --> < dl > < dt > xfsd </ dt > < dd > 1 </ dd > < dd > 2 </ dd > < dd > 3 </ dd > </ dl >
2023-06-18 15:44:36
157
1
原创 LinkedList和ArrayList
List介绍List是一个接口,继承了Collection。List的两个最重要的子类分别是LinkedList和ArrayList。ArrayList基本概念ArrayList的底层是一个长度可以动态增长的object数组,并且实现了三个没有方法的接口,RandomAccess、Cloneable、java.io.Serializable。在JDK中默认的构造函数容量是0,ArrayList常用方法及其源码add方法。源码:底层是一个可以动态增长的数组,默认容量是0,所以第一次调用a
2021-04-26 16:57:45
1495
原创 集合介绍(待补充)
这里写自定义目录标题集合介绍集合的框架结构新旧集合类旧集合类新一代并发集合类collection与collections迭代器----Iterator迭代器适用范围迭代器使用及源码迭代器常用的方法迭代器实际运作集合介绍将相同结构的个体整合在一起时,就可以考虑使用集合。并且集合克服了数组的缺点。如:1)数组的查高度必须在初始化时指定,且固定不变;2)数组采用连续存储空间,删除、添加效率低;3)数组无法直接保存映射关系;4)数组缺乏封装,操作繁琐。集合的框架结构1.java集合可分为Colle
2021-04-26 15:37:49
156
原创 包装类介绍及其自动装箱、拆箱
@包装类Java的包装类java是面对对象的语言。而基本数据类型不是对象,但是大多时候是需要对象类型的数据,为了解决这个问题,由此引入了包装类。包装类都在java.lang包中。1.为什么需要包装类?1.某些方法的参数必须是对象,为了让基本数据类型的数据能作为参数,提供包装类。2.包装类可以提供更多的功能。3.其他特别重要的功能:比如可以实现字符串和基本数据类型之间的转换。2.包装类和基本类型的区别1.包装类要new,并且存储在堆中,而在栈中只是存储了堆中存储的地址。而基本类型在使用的时候
2021-04-22 16:19:20
119
原创 异常
@1异常在 Java 中,所有的异常都有⼀个共同的祖先 java.lang 包中的 Throwable类。Throwable: 有两个重要的⼦类:Exception(异常) 和 Error(错误) ,⼆者都是 Java 异常处理的重要⼦类,各⾃都包含⼤量⼦类。对于Exception中,常用到的有IOException,SQLException。而Error中常用到的有新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮
2021-04-21 22:00:49
123
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人