自定义博客皮肤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)
  • 收藏
  • 关注

原创 前端面试题

前端面试题

2022-04-03 16:08:56 566 1

原创 元素隐式具有 “any“ 类型,因为类型为 “string“ 的表达式不能用于索引类型 “typeof

【代码】元素隐式具有 "any" 类型,因为类型为 "string" 的表达式不能用于索引类型 "typeof。

2023-12-26 14:54:43 491

原创 vue3+ts 类型“never”上不存在属性“xxx”。或 类型“{}”上不存在属性“xxx”。或 类型“string”的参数不能赋给类型“never”的参数。等等

上面这些问题都是使用了any类型注解来解决的,无论是基本类型还是引用类型,都可。除了上述这些报错之外,可能还会有其他类型的报错,有小伙伴发现了的话,可直接评论留言,如果文章中有写错的地方,还请小伙伴们指出来,及时改正。

2023-12-26 10:44:24 4980 1

原创 vue3+vite+ts父子组件之间的传值

提示:这里仅描述中的写法,另外一种写法的话,基本类似,这里不做展示了随着vue2的落幕,vue3越来成熟,有必要更新一下vue3的父子组件之间的传值方式,和vue2的大差不差,都是一个道理,只不过写法上出现了差异,vue3+vite+ts安装这里就不写了,由于文章中使用了element-plus的dialog组件作为子组件的内容,所以前提工作是先安装一下element-plus。

2023-12-21 17:53:49 716

原创 vue3+vite静态页面部署到gitee pages

vue3+vite静态页面部署到gitee pages。

2023-12-20 17:03:33 1325

原创 vue3语法

好了,对于快速上手 Vue3 来说,以上内容基本已经足够了。这篇文章本身不能做到帮你理解所有 Vue3 的内容,但是能帮你快速掌握 Vue3 的写法。如果想做到对 Vue3 的整个内容心里有数,还需要你自己多看看 Vue3 的官方文档。参考资料。

2023-07-08 23:13:51 810

原创 JS递归遍历树结构

JS递归遍历树结构。

2022-10-22 17:29:25 5493 1

原创 6个实用的JavaScipt小技巧

6个实用的JavaScipt小技巧

2022-09-24 14:33:42 280

原创 如何检查JavaScript对象上是否存在一个属性?

如何检查JavaScript对象上是否存在一个属性?

2022-09-24 14:16:39 449

原创 js堆和栈

js的数据类型为了更好容易的理解堆和栈,首先来复习一下js中的数据类型。在js中数据类型主要分为以下两大类:类型内容基本类型String,Number,Boolean,Null,Undefined,这5种基本数据类型它们是直接按值存放的,所以可以直接访问。引用类型Function,Array,Object,当我们需要访问这三种引用类型的值时,首先得从栈中获得该对象的地址指针,然后再从堆内存中取得所需的数据。二、什么是堆什么是栈其实了解过一些数据结构的同学应该都对堆和

2022-05-05 14:03:48 2184 3

原创 vue组件传值方式

vue组件传值,父子,子父,vue全局组件相互传值

2022-05-04 19:03:14 1349 2

原创 她会魔法吧 - DJ小鱼儿

她会魔法吧 - DJ小鱼儿.mp3下载百度网盘直接提取MP3文件去下载 提取码:yyds

2022-04-28 13:54:30 1605

原创 vue路由守卫

导航守卫全局前置守卫router.beforeEachconst router = createRouter({ ... })router.beforeEach((to, from) => { // ... // 返回 false 以取消导航 return false})可选的第三个参数 nextrouter.beforeEach((to, from, next) => { if (to.name !== 'Login' && !isAuthen

2022-04-24 22:35:38 152

原创 vue生命周期

Vue所有的生命周期钩子自动绑定在this上下文到实例中,因此你可以访问数据,对属性和方法进行运算。这意味着你不能使用箭头函数来定义一个生命周期方法。这是因为箭头函数绑定了父上下文,因此this与你期待的Vue实例不同。1、beforeCreate在实例初始化之后,数据观测和event/watcher时间配置之前被调用。2、created实例已经创建完成之后被调用。在这一步,实例已经完成以下的配置:数据观测,属性和方法的运算,watch/event事件回调。然而,挂载阶段还没开始,$el属性目前不可

2022-04-24 22:21:57 466

原创 vue双向绑定原理

vue的原理Vue.js(读音 /vjuː/,类似于 view) 是一套构建用户界面的渐进式框架。开发人员将js代码分为了三个板块,数据(Model),逻辑控制(*),视图(View),数据板块只负责数据部分,视图板块负责更改样式,逻辑控制负责联系视图板块和数据板块,这样子有很大的好处,当需求发生变动时,只需要修改对应的板块就好,这就衍生出了vue的mvvm。MVVM从字面意思来理解就是划分为 Model 、View 、 VIewModel 三个部分,分别表达了Model(数据)、View(视图)、V

2022-04-23 18:09:51 175

原创 本地存储和cookie

本地存储和cookie一、本地存储二、js使用cookie用法三者的区别一、本地存储本地存储包括localStorage、sessionStoragelocalStorage用法保存数据:localStorage.setItem(key,value);读取数据:localStorage.getItem(key);删除指定单个数据:localStorage.removeItem(key);删除所有数据:localStorage.clear();得到某个索引的key:localStorage.k

2022-04-23 17:31:10 610

原创 从一个url到最终页面渲染完成,发生了什么?

1.DNS解析:将域名地址解析为ip地址首先我们需要通过 DNS(域名解析系统)将 URL 解析为对应的 IP 地址,然后与这个 IP 地址确定的那台服务器建立起 TCP 网络连接2.TCP的三次握手- 第一次握手,由浏览器发起,告诉服务器我要发送请求了- 第二次握手,由服务器发起,告诉浏览器我准备接受了,你赶紧发吧- 第三次握手,由浏览器发送,告诉服务器,我马上就发了,准备就收吧TCP三次握手就是我们向服务端抛出我们的 HTTP 请求,发送请求报文:Http协议的通信内容,接着是服务端返回

2022-04-23 16:11:47 2535

原创 http所有请求方式,post和get的区别

http所有请求方式,post和get的区别http的所有请求方式常用的post和get的区别http的所有请求方式HTTP1.0定义了三种请求方法: GET, POST 和 HEAD方法。HTTP1.1新增了五种请求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法1、OPTIONS返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性2、HEAD向服务器索与GET请求相一致的响应,只不过响应体将不会被

2022-04-17 19:00:28 167

原创 深拷贝浅拷贝

深拷贝浅拷贝什么是浅拷贝,深拷贝以及和他们之间的区别深拷贝实现浅拷贝实现什么是浅拷贝,深拷贝以及和他们之间的区别1. 浅拷贝是创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值,如果属性是引用类型,拷贝的就是内存地址 。2. 深拷贝是增加了一个指针并且申请了一个新的内存,使这个增加的指针指向这个新的内存,3. 区别:浅拷贝基本类型之前互不影响,引用类型其中一个对象改变了地址,就会影响另一个对象;简单来说,浅拷贝只是增加了一个指针指向已存在的内存地址,

2022-04-09 22:16:18 803

原创 闭包的使用

闭包什么是闭包为什么需要闭包呢闭包的应用场景闭包的缺点和解决方法什么是闭包简单来说,闭包是指可以访问另一个函数作用域变量的函数,一般是定义在外层函数中的内层函数。为什么需要闭包呢局部变量无法共享和长久的保存,而全局变量可能造成变量污染,所以我们希望有一种机制既可以长久的保存变量又不会造成全局污染。实现代码:<script> let count = 500 //全局作用域 function foo1() { let count = 0;//函数全局作用域

2022-04-09 22:15:07 1450

原创 防抖与节流

防抖与节流防抖节流防抖在事件被触发n秒后再执行回调,如果在这n秒内又被触发或不停触发,只响应最后一次,则重新计时,重新触发定时器。防抖类似于英雄联盟回城6秒,如果回城中被打断,再次回城需要再等6秒。应用场景:1. search搜索联想,用户在不断输入值时,用防抖来节约请求资源。2. window触发resize的时候,不断的调整浏览器窗口大小会不断的触发这个事件,用防抖来让其只触发一次。实现代码:<body> <input type="text" id="inp">

2022-04-09 22:13:45 194

原创 js同步和异步的区别

js同步和异步的区别同步任务异步任务同步和异步运行机制首先,不同于其他后端语言,javascript语言是单线程机制。所谓单线程就是按次序执行,执行完一个任务再执行下一个。对于浏览器来说,也就是无法在渲染页面的同时执行代码。于是,所有任务可以分成两种,一种是同步任务(synchronous),另一种是异步任务(asynchronous)。同步任务同步任务指的是,在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务;异步任务异步任务指的是,不进入主线程、而进入"任务队列"(task

2022-04-09 22:12:09 2801

原创 async和await、promise

适用于初中级基础面试题promiseasync和awaitpromisehttps://blog.csdn.net/qq_45952585/article/details/122218645?spm=1001.2014.3001.5501async和await任意一个名称都是有意义的,先从字面意思来理解。async 是“异步”的简写,而 await 可以认为是 async wait 的简写。所以应该很好理解 async 用于声明一个 function 是异步的,async声明的函数返回值是一个pro

2022-04-09 22:10:40 936

原创 HTML5,CSS3,ES6新特性

HTML5,CSS3,ES6新特性HTML5CSS3ES6HTML5语义化的区块和段落元素:section,article,nav,header,footer,aside和hgroup音频和视频:audio和video元素嵌入和允许操作新的多媒体内容表单input的属性:color,date ,datetime-local ,email新的语义元素除了节段,媒体和表单元素之外,还有众多的新元素:mark,figure,figcaption,data,time,output,progress, 或

2022-04-09 22:09:00 493

原创 css水平垂直居中

css水平垂直居中已知高度和宽度的元素未知高度和宽度的元素已知高度和宽度的元素方案一:设置父元素为相对定位,给子元素设置绝对定位,top: 0; right: 0; bottom: 0; left: 0; margin: auto; <style> #father { width: 500px; height: 300px; background-color: skyblue; position: relative; } #son { width

2022-04-09 22:07:38 128

原创 前端性能优化以及解决方案

前端性能优化以及解决方案1、请减少HTTP请求基本原理:2、请正确理解 Repaint(重绘) 和 Reflow(回流/重排)3、请减少对DOM的操作4、使用JSON格式来进行数据交换5、使用CDN加速(内容分发网络)6、精简CSS和JS文件7、压缩图片和使用图片Sprite技术8、注意控制Cookie大小和污染1、请减少HTTP请求基本原理:在浏览器(客户端)和服务器发生通信时,就已经消耗了大量的时间,尤其是在网络情况比较糟糕的时候,这个问题尤其的突出。一个正常HTTP请求的流程简述:如在浏览器中输

2022-04-09 22:01:35 622

原创 js操作数组的方法以及map和forEach的区别

js操作数组的方法以及map和forEach的区别操作数组的方法map和forEach的区别操作数组的方法join()push()和pop()shift() 和 unshift()sort()reverse()concat()slice()splice()indexOf()和 lastIndexOf()forEach() (ES6新增)map() (ES6新增)filter() (ES6新增)every() (ES6新增)some() (ES6新增)reduce()和 red

2022-04-09 21:56:43 129

原创 var let const 的区别

var let const 的区别1.块级作用域2.变量提升3.重复声明4.变量和常量一个经典的关于 var 和 let 的一个例子:1.块级作用域ES5 中作用域有:全局作用域、函数作用域。没有块作用域的概念。ES6 中新增了块级作用域。块作用域由 { } 包括,if语句和 for语句里面的{ }也属于块作用域。区别:var定义的变量,没有块的概念,可以跨块访问, 不能跨函数访问。let定义的变量,只能在块作用域里访问,不能跨块访问,也不能跨函数访问。const用来定义常量,使用时必须初始化

2022-04-09 21:53:34 140

原创 http网络状态码

200:OK,表示请求成功301: 永久转移(永久重定向),应用场景:域名更改,访问原始域名重定向到新的域名302: 临时转移(临时重定向307),应用场景:网站现在是基于HTTPS运作的,但是若访问的是带http协议,会基于307重定向到HTTPS协议上。还可以用作服务器负载均衡,一般在真实项目中,都是把图片存放在图片服务器上的,而并非主服务器,当用户访问主服务器准备获取图片时,这时就会把我们的请求转移到图片服务器。304:设置缓存,一般是服务器端做的,对于一些不需要经常更新的资源文件400:请求

2022-03-15 18:15:05 172

原创 父子组件的生命周期顺序

文章目录一、加载渲染过程二、子组件更新过程三、父组件更新过程四、销毁过程一、加载渲染过程父beforeCreate->父created->父beforeMount->子beforeCreate->子created->子beforeMount->子mounted->父mounted二、子组件更新过程父beforeUpdate->子beforeUpdate->子updated->父updated三、父组件更新过程父beforeUpdate-

2022-03-15 17:50:21 215

原创 【js鸡兔同笼】

鸡兔同笼 已知头共24个 脚共72只 求鸡兔各多少只?for (var i = 0; i <= 24; i++) { var j = 24 - i; if ((i * 2) + (j * 4) == 72) { console.log('鸡' + i + '兔' + j); break }}

2022-03-13 22:53:16 589

原创 js数组去重

js数组去重一、利用ES6 Set去重(ES6中最常用)二、利用for嵌套for,然后splice去重(ES5中最常用)一、利用ES6 Set去重(ES6中最常用)function unique (arr) { return Array.from(new Set(arr))}let arr = [1, 1, 5, 2, 2, 3, 3, 5, 5]console.log(unique(arr))二、利用for嵌套for,然后splice去重(ES5中最常用)function unique

2022-02-27 16:47:37 147

原创 gitee搭建vue博客

文章目录创建vue项目并添加相应文件打包创建vue项目并添加相应文件创建好一个vue项目之后,用vscode打开项目,在根目录创建一个空文件,名字叫.spa然后在添加一个vue.config.js文件,里面添加上这样一段配置module.exports = { publicPath: process.env.NODE_ENV === "production" ? "/test_item/" : "./"};其他内容自己根据自己想要的页面去随意编写test_item是在gitee中创建

2022-01-15 18:55:12 471

原创 new Promise使用

new Promise使用一、Promise.all二、promise.then一、Promise.alllet arr = ['a', 'b', 'c', 'd']let list = []for (let index = 0; index < arr.length; index++) { const element = arr[index]; var currentData = new Promise(function (resolve, reject) {

2021-12-29 16:34:33 11149

原创 一路生花 - 温奕心

(一路生花 - 温奕心)下载百度网盘直接提取MP3文件https://pan.baidu.com/s/1OIhpUVR7CncLrfT_yZYcqQ 提取码:yyds

2021-12-15 10:37:31 35585 4

原创 vue搭建博客

使用vue2.0/3.0搭建博客,前端情绪员实现原理安装nodejs和vue写项目项目打包和托管项目创建github仓库安装git托管项目到github仓库检查仓库并设置pages购买域名和解析域名修改更新项目实现原理使用vue打包出来的dist,把dist中的文件托管到自己的github中或者云服务器中,利用github的话,会生成一个github提供的一个链接,访问这个链接就可以看到自己的网站,如果想要一个霸气点的域名,可以去阿里云或者腾讯云买一个域名,解析这个域名,就可以用自己的域名去访问网站。

2021-12-11 17:04:01 3916 1

原创 Ensemble - Vicetone, mp3下载

(Ensemble - Vicetone)下载百度网盘直接提取MP3文件https://pan.baidu.com/s/1ZtjRjxrczQtz8siUSE_AFg提取码:yyds

2021-12-06 20:53:38 1166

原创 tab切换,原生js

tab切换,原生js第一种方式第二种方式第一种方式 <style> * { padding: 0; margin: 0; } .big { width: 900px; height: 600px; margin: 0 auto; } ul { list-sty

2021-11-19 14:59:53 466

原创 js 判断对象里面有没有值

var obj= {}if(Object.values(obj).length>0){ // 有值 }else{ // 无}

2021-11-18 17:43:59 3204

原创 叶炫清-九张机

叶炫清-九张机mp3下载百度网盘直接提取MP3文件https://pan.baidu.com/s/1Vm49AEvwhviW9mHm9Va9UA 提取码:yyds

2021-11-17 14:22:42 745

空空如也

空空如也

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

TA关注的人

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