自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 vue3.2+ts报错:找不到模块“./App.vue”或其相应的类型声明

未定义 .vue文件 的类型, 导致 ts 无法解析其类型,在env.d.ts中定义后方可解决。

2023-02-21 08:40:26 1863

原创 回流与重绘

浏览器会将所有的回流、重绘的操作放在一个队列中,当队列中的操作到了一定的数量或者到了一定的时间间隔浏览器就会对队列进行批处理。当渲染树中部分或者全部元素的尺寸、结构或者属性发生变化时,浏览器会重新渲染部分或者全部文档的过程就称为 回流。当页面中某些元素的样式发生变化,但是不会影响其在文档流中的位置时,浏览器就会对元素进行重新绘制,这个过程就是 重绘。注意: 当触发回流时,一定会触发重绘,但是重绘不一定会引发回流。浏览器针对页面的回流与重绘,进行了自身的优化-- 渲染队列。8.添加或者删除可见的DOM元素。

2023-02-11 22:53:28 2130 1

原创 防抖与节流

函数节流是指规定一个单位时间,在这个单位时间内,只能有一次触发事件的回调函数执行,如果在同一个单位时间内某事件被触发多次,只有一次能生效。节流可以使用在 scroll 函数的事件监听上,通过事件节流来降低事件调用的频率。函数防抖是指在事件被触发 n 秒后再执行回调,如果在这 n 秒内事件又被触发,则重新计时。2.服务端验证场景:表单验证需要服务端配合,只执行一段连续的输入事件的最后一次,还有搜索联想词功能类似生存环境请用lodash.debounce。3.动画场景: 避免短时间内多次触发动画引起性能问题。

2023-02-06 14:45:05 200

原创 vue的常见指令

v-if :根据表达式的值的truthiness 来有条件地渲染元素。v-pre : 跳过这个元素和它的子元素的编译过程。v-show : 根据表达式之真假值 来切换元素的 display CSS property. 当条件变化是该指令触发过渡效果。v-else: 前提条件必须有 v-if 或 v-else-if v-if为false执行。v-else-if :前提条件必须有 v-if 或 v-else-if 多有条件使用。v-html : 更新元素的 innerHTML (可解析标签)

2023-01-04 15:08:19 405

原创 vue的常见修饰符

当我们在监听元素滚动事件时候,会一直触发onscroll事件,在pc端是没啥问题的,但是在移动端,会让网页变卡,因此我们使用这个修饰符的时候 ,相当于onscroll 事件整了一个。作用是将值转成数字类型,但是先输入字符串和先输入数字,用两种清况,先输入数字的话,只取前面。作用是,改变输入框的值时value不会改变,当光标离开输入框时,v-model绑定的值value才会改变。事件默认是由里往外冒泡,capture修饰符的作用是反过来的,是由外往内捕获。作用是,只有点击绑定的本身才会触发事件。

2023-01-02 23:35:56 339

原创 H5的新特性

8.新增控件 calendar data email time url search file number。1.拖拽释放:即抓取一个元素以后拖到另一个位置,在HTML5中,拖放是标准的一部分,任何元素都可以拖放。3.语义化标签(header ,nav,footer,aside,article)7.本地存储localstorage和sessionstorage。4.新增音频(radio),视频(video)标签。2.自定义属性 data-id。5.画布canvas。

2023-01-01 01:15:00 758

原创 localstorage 和 cookie的区别?

在实际开发中,我会根据具体情况来选择使用它们.如果不需要与服务器通信并且可以长时间保存在客户端的信息就可以采用localstorage来保存, 例如: 会话状态管理(如用户登录状态、购物车、游戏分数或其它需要记录的信息);个性化设置(如用户自定义设置、主题等);第三:在请求的时候,cookie会被携带,而localstorage不会.同源的cookie信息会自动作为请求头的一部分发给服务器,如果过多的设置cookie,会额外增加通信负荷.而localstorage没有这个问题,它是一直存在浏览器端.

2022-12-28 23:27:21 297

原创 mock功能-了解mock的作用及使用场景

mock 假的。

2022-12-26 22:04:41 282

原创 如何解决跨越

也就是 为了网络安全起见,浏览器设置了一个同源策略,规定只有域名,端口,协议全部相同,就叫做同源。当页面在执行一个脚本时,会检查访问的资源是否同源,如果不是,就会报错。可是在实际开发中,经常会有跨域加载资源的需求,避免不了跨域请求,所以就出现了跨域。同源策略(Same origin policy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。所以我们引出浏览器的同源策略,就是指必须在同一个协议,域名,端口号下,而且三者必须一致的。

2022-12-24 17:18:48 2228

原创 C3的新特性.你都知道了吗???

5.背景 background-size background-origin backgrounde -clip。3.圆角边框 border-radius 边框阴影 border-shadow。6.渐变 linear-gradient,radial-gradient。1.新增颜色RGBA,HSLA模式。4.盒子模型box-sizing。7.过渡 transition。8.自定义动画@keyfrom。12.字体图标iconfont。9.媒体查询@media。13.弹性布局flex。11.2d/3d转换。

2022-12-22 23:43:29 767

原创 数组转对象 对象转数组

index.vue文件中我们可以看到应用了三个模板组件。分别是头部,侧边栏和main主体部分。。2.就是首页使用的组件。

2022-12-21 22:32:58 171

原创 为什么避免v-for和v-if在一起使用

Vue 处理指令时,v-for 比 v-if 具有更高的优先级, 虽然用起来也没报错好使, 但是性能不高, 如果你有5个元素被v-for循环, v-if也会分别执行5次,先循环再做分支判断,一起使用会造成性能浪费。在Vue2中,v-for的优先级是高于v-if的,如果作用在同一元素上,输出的渲染函数中可以看除会先执行循环再判断条件,哪怕只渲染列表中一小部分元素,也得在每次重渲染的时候遍历整个列表,这会造成性能的浪费。使用过程中,最好不要把它们同时用在一个元素上。1.把v-if 放在 v-for 的外层。

2022-12-20 16:51:24 193

原创 vue的生命周期

第一次加载页面会触发前四个钩子。

2022-12-15 21:59:46 186

原创 vuex中有哪些配置项

通过dispatch触发actions,actions中发请求,请求的结果到达之后,通过commit触发mutations,并且对mutaions的每一次触发都可以通过devtools来观测到。在mutations中修改state之后,由于state中的数据是响应式的,所以凡是用到state数据的组件都会自动更新。4.actions作用:负责异步操作 一般用于发ajax请求 将请求到的数据通过commit触发mutaions来修改state。3.mutaions作用:负责同步更新state数据。

2022-12-14 22:31:28 368

原创 vue中计算属性和侦听器的区别

计算属性: computed侦听器: watch不同点:1.功能不同计算属性主要是解决模板中语法冗余的,而侦听器是监听data里面某一个数据的变化2.计算属性有缓存,侦听器没有缓存3.计算属性不支持异步操作,侦听器支持异步操作4.计算属性是可以新增一个属性,而侦听器只能监听data里的数据(前提是要侦听的数据必须在data定义)5.computed必须要有return值,watch可以没有return值

2022-12-07 19:46:58 468

原创 vue组件的完整原型链

JavaScript 规定,每一个构造函数都有一个 prototype 属性,指向另一个对象。注意这个 prototype 就是一个对象,这个对象的所有属性和方法,都会被构造函数所拥有对象原型 __proto__对象都会有一个属性 __proto__ 指向构造函数的 prototype 原型对象,之所以我们对象可以使用构造函数 prototype 原型对象的属性和方法,就是因为对象有 __proto__ 原型的存在。__proto__ 对象原型和原型对象 prototype 是等价的__proto__

2022-12-06 22:07:04 467

原创 v-if 和v-show的区别

一般不用频繁切换, 要么显示, 要么隐藏的情况, 我都会用 v-if。因为v-if 是惰性的, 如果初始值为 false, 那么这些元素就直接不创建了, 这样就可以节省一些初始渲染开销。v-show本质是在控制元素的 css 样式,display: none;,一般元素需要频繁的切换显示隐藏, 用 v-show。因为v-if在频繁切换会大量的创建和删除元素, 消耗性能。值都是false的状态,v-for是直接从dom树上删除,v-show是修改css样式:display: none。

2022-12-05 22:38:59 205

原创 Vue的key

Vue 会尽可能高效地渲染元素,通常会复用已有元素而不是从头开始渲染。这么做除了使 Vue 变得非常快之外,还有其它一些好处。那么在上面的代码中切换文字内容将不会清除用户已经输入的内容。因为两个模板使用了相同的元素,不会被替换掉——仅仅是替换了它的。要想告诉Vue “这两个元素是完全独立的,不要复用它们。中的key值指令使用key值几种情况:v-for指令的key值优先使用唯一字符串(性能最高), 实在没有就用下标index。

2022-12-02 23:18:59 1499

原创 GET 和 POST 的区别

GET和POST,两者是HTTP协议中发送请求的方法参数位置貌似从上面看到GET与POST请求区别非常大,但两者实质并没有区别无论GET还是POST,用的都是同一个传输层协议,所以在传输上没有区别当不携带参数的时候,两者最大的区别为第一行方法名不同。当携带参数的时候,我们都知道GET请求是放在url中,POST则放在body中GET方法简约版报文是这样的方法简约版报文是这样的这里只是约定,并不属于HTTP规范,相反的,也可以在POST请求中url中写入参数,或者GET请求中的body携带参数。

2022-12-01 22:26:56 188

原创 前端必学的数组常见方法

前端必学的数组常见方法1. join() 把数组链接成一个字符串。

2022-11-26 22:59:54 459

原创 浅拷贝和深拷贝的区别

前提为拷贝类型为引用类型的情况下:浅拷贝是拷贝一层,属性为对象时,浅拷贝是复制,两个对象指向同一个地址深拷贝是递归拷贝深层次,属性为对象时,深拷贝是新开栈,两个对象指向不同的地址。

2022-11-23 22:55:00 307

原创 var、let、const三者区别

var、let、constvar声明的变量存在变量提升,即变量可以在声明之前调用,值为和const不存在变量提升,即它们所声明的变量一定要在声明后使用,否则报错var不存在暂时性死区let和const存在暂时性死区,只有等到声明变量的那一行代码出现,才可以获取和使用该变量。

2022-11-20 21:49:34 97

原创 闭包的使用场景

闭包是一个可以访问其他函数内部变量的函数,主要作用是解决变量污染问题,也可以用来延长局部变量的生命周期。一般大多数情况下,在回调函数中闭包用的是最多的。一般函数是返回后就被销毁了,但是闭包会保存对创建时所在词法环境的引用,即使创建时所在的执行上下文被销毁,但创建时所在词法环境依然存在,以到达延长变量的生命周期的目的。在JavaScript中,每当创建一个函数,闭包就是会在函数创建的同时被创建出来,作为函数内部与外部的桥梁.fn1没有自己的变量,因为闭包的特性,它可以访问到外部函数的变量。

2022-11-18 23:00:01 513

原创 Promise

译为承诺,是异步编程的一种解决方案,比传统的解决方案(回调函数)更加合理和更加强大.在以往我们如果处理多层异步操作,我们往往会像下面那样编写我们的代码以上代码,是经典的回调地狱现在通过改写回调地狱链式操作减少了编码难度,代码的可读性明显增强。

2022-11-17 23:45:00 153

原创 HTTP常见状态码

100:客户端在发送 POST 数据给服务器前,征询服务器情况,看服务器是否处理 POST 的数据,如果不处理,客户端则不上传 POST 数据,如果处理,则 POST 上传数据。301:永久重定向会缓存。307 (临时重定向): 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。302(临时移动): 服务器目前从不同位置的网页响应请求,但请求者应继续使用原有位置来进行以后的请求。304:协商缓存,告诉客户端有缓存,直接使用缓存中的数据,返回页面的只有头部信息,是没有内容部分。

2022-11-13 10:23:16 110

原创 js数组的解构,对象的解构, forEach,filter, reduce函数,构造函数 ,Object

new的过程叫 实例化, 所以p1也可以叫 实例化的对象。构造函数 用于批量创建解构类似的对象。构造函数上面的属性叫 静态成员。对象上面的属性叫 实例成员。new的底层原理(简)

2022-11-08 21:21:36 316

原创 作用域、垃圾回收机制,闭包

占用的内存没有被及时释放,内存泄漏积累多了就导致内存溢出。内存泄漏一般是指变量的内存没有及时的回收,导致内存资源浪费。一般有四种情况出现内存泄露比较多。1. 常见的声明了一个全局变量,但是又没有用上,那么就有点浪费内存了。2. 定时器没清除3. 循环引用:A 对象里面有一个属性指向 B 对象,B 对象有一个属性指向 A 对象。互相引用4. 闭包:匿名函数可以访问父级作用域的变量。那在使用完之后,也要及时释放掉。

2022-11-08 20:58:03 213

原创 回调函数,json方法,exec方法,replace

【代码】回调函数,json方法,exec方法,replace。

2022-11-03 20:55:08 191

原创 浏览器的回流与重绘,延时函数,回调函数,本地存储localStorage,存储复杂类型,JSON

进行布局 Layout(回流/重排):根据生成的渲染树,得到节点的几何信息(位置,大小)进行绘制 Painting(重绘): 根据计算和获取的信息进行整个页面的绘制。同时解析(Parser) CSS,生成样式规则 (Style Rules)解析(Parser)HTML,生成DOM树(DOM Tree)根据DOM树和样式规则,生成渲染树(Render Tree)display: 展示在页面上。

2022-11-03 20:46:25 541

原创 Web APIs,日期对象,节点,map方法,join方法

语法:document.createElement('标签名') 掌握。- 语法:父对象.appendChild(需要追加的节点) 掌握。- 作用:将 节点 追加到 某个父元素 内部的最后面。父对象.removeChild(要删除的子对象)子对象.remove() √。

2022-10-29 21:32:12 86

原创 Web APIs,DOM,事件类型,事件处理程序,事件类型,鼠标事件,键盘事件,焦点事件,环境对象,回调函数

学会通过为DOM注册事件来实现可交互的网页特效。能够判断函数运行的环境并确字 this 所指代的对象理解事件的作用,知道应用事件的 3 个步骤。

2022-10-24 22:28:57 105

原创 webapis事件的使用,事件监听方法,间歇函数,按钮全选案例,焦点事件,搜索框 下拉框案例

【代码】webapis事件的使用,事件监听方法,间歇函数,按钮全选案例,焦点事件,搜索框 下拉框案例。

2022-10-24 22:25:37 222

原创 webapis灯泡案例 onmouseover鼠标移入onmouseout鼠标移除

【代码】webapis灯泡案例。onmouseover鼠标移入onmouseout鼠标移除

2022-10-24 22:00:33 155

原创 Web APIs,BOM树,声明dom对象,年会抽奖案例,随机图片,表单,用户注册倒计时,innerHTNL,classList的使用

严格意义上讲,我们在 JavaScript 阶段学习的知识绝大部分属于 ECMAScript 的知识体系,ECMAScript 简称 ES 它提供了一套语言标准规范,如变量、数据类型、表达式、语句、函数等语法规则都是由 ECMAScript 规定的。浏览器将 ECMAScript 大部分的规范加以实现,并且在此基础上又扩展一些实用的功能,这些被扩展出来的内容我们称为 Web APIs。

2022-10-24 21:52:54 186

原创 对象的使用

对象是 JavaScript 数据类型的一种,之前已经学习了数值类型、字符串类型、布尔类型、undefined。对象数据类型可以被理解成是一种数据集合。它由属性和方法两部分构成。

2022-10-20 21:36:26 226

原创 函数的声明和调用

声明(定义)一个完整函数包括关键字、函数名、形式参数、函数体、返回值5个部分调用声明(定义)的函数必须调用才会真正被执行,使用。

2022-10-18 21:34:30 2176

原创 循环与数组

共同点都能实现多分支选择, 多选1大部分情况下可以互换区别:switch…case语句通常处理case为比较的情况,而if…else…语句更加灵活,通常用于(大于,等于某个范围)。当分支比较少时,if…else语句执行效率高。当分支比较多时,switch语句执行效率高,而且结构更清晰。

2022-10-17 21:17:01 139

原创 显示转换,隐式转换,if语句,while和for循环

数字类型转数字类型String(数据)转换为字符串转布尔类型Boolean(数据)' ',0,undefined,null,false,NaN这几个值转布尔类型为false,其他的值转布尔全部为true隐式转换 由浏览器进行转换。

2022-10-16 14:11:39 158

原创 js基础入门

js数据类型,let和var的区别

2022-10-14 21:40:31 88

原创 父子关系盒子居中4种方法

父子关系盒子居中4种方法

2022-10-11 20:00:24 103

空空如也

空空如也

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

TA关注的人

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