- 博客(42)
- 收藏
- 关注
原创 如何将URL参数解析为对象?
在URL中, 查询参数search值通常用来提供有关的请求信息,因此在前端处理请求逻辑时,了解如何从URL中获取到想要的参数十分重要。在讲解如何解析URL参数为我们想要的对象形式之前,我们先来了解一下网址的组成部分。
2025-04-13 16:59:17
350
原创 移动端适配
目前市面上移动端屏幕尺寸非常的繁多,很多时候我们希望一个元素在不同的屏幕上显示不同的大小以此来更好的还原效果图,因此我们需要通过移动端适配,通过自适应和响应式,确保应用在不同设备上所占据视口的空间比例是相同的。rem 单位是相对于 html 元素的 font-size 来设置的,通过在不同屏幕尺寸下,动态的修改 html 元素的 font-size 以此来达到适配效果。方案一:百分比设置(不推荐),因为不同属性的百分比值,相对的可能是不同参照物,所以百分比往往很难统一。方案四:flex的弹性布局。
2025-04-13 16:55:07
1086
原创 parseInt相关例题分析
第二个参数radix是一个2-36之间的整数,用于指定转换时采用的技术,传入0、10、或者不传入默认按照10进制转换。第一个参数string是要被解析的值,如果参数不是一个字符串,则将其转换为字符串,字符串开头的空白符会被忽略。parseInt(string,radix) JS全局函数,将给定的字符串以指定的radix基数解析成。解析: 将Infinity转为’Infinity’ 转为19进制,i=>18 n超出范围。函数返回转换后的整数值,如果解析转换过程中发生错误,则返回NaN。
2022-11-21 11:02:40
286
原创 防抖节流函数的 封装
场景:1、用户多次点击搜索、登录、导出按钮;场景:1、鼠标连续移动不断触发某事件/拖拽元素,要拿到元素被拖拽过程中移动的位置;2、搜索框输入联想的功能 3、懒加载监听滚动条的位置,但不必要每次滚动都监听。当一个函数被频繁触发、调用时,会严重加重浏览器的负担,造成浏览器卡顿的现象。因此引入防抖、节流来限制函数的执行频次,以。当事件被频繁触发后,延迟n秒再执行该事件。作用:采用防抖策略,可以有效减少请求次数,节约请求资源。特点:停止触发n秒后,事件处理函数才会。当事件被持续触发,每隔n秒执行事件一次。
2022-11-08 23:13:10
506
原创 基于qiankun微前端实践| 主应用vue,微应用vue、react
基于qiankun微前端实践,主应用vue,微应用vue、react。特性:技术栈无关样式隔离: 确保微应用之间样式互相不干扰 shadow domJS 沙箱 :确保微应用之间 全局变量/事件 不冲突iframe提供 浏览器原生的硬隔离方案, 不论是样式隔离、js 隔离这类问题统统都能被完美解决。但他的最大问题也在于他的隔离性无法被突破,导致应用间上下文无法被共享,随之带来的开发体验、产品体验的问题。url 不同步UI不同步 DOM 结构不共享。...
2022-08-30 11:27:45
1346
原创 事件循环| 宏任务和微任务代码的执行顺序
异步任务又可分为宏任务、微任务。当同步任务执行完,先去事件队列查找执行一个宏任务,然后执行所有微任务。微任务执行完继续执行主线程任务,主线程任务执行完又去事件队列查找另一个可执行宏任务,如此依次循环。由于JS单线程的特点,当我们遇到需要较长时间才能返回执行结果的任务时,在单线程上排队执行就会带来较高的性能消耗。中,这样遇到异步任务时就不用在主线程等其执行完再执行下一个任务,而是跳过异步任务,继续在主线程执行下一个同步任务。: 需要一段时间之后才能得到结果的任务称为异步任务,异步任务不进入主线程,而是进入。.
2022-08-25 23:52:26
1557
2
原创 Vue的生命周期及使用场景
二、created阶段: vue实例已创建,实例配置的options:datat methods watch computed等初始化配置完成,但此阶段渲染的节点还未挂载到DOM上去,所以不能访问el属性。七、beforeDestory阶段: 在实例销毁前调用,这一阶段vue实例及其配置项都还是可用状态,在这阶段可以做最后的移除定时器和事件绑定操作。八、destoryed阶段: 该阶段vue实例已完全销毁,vue所指示的所有东西都会解除绑定,事件监听器被移除,所有vue实例也会被销毁。...
2022-08-03 18:24:45
2928
原创 面试题|promise连环问,你真的理解promise吗?用promise实现一个红绿灯效果
promise实例有三种状态:fulfilled(已成功)、rejected(已失败)、pending进行中,promise实例状态只能由pending变为fulfilled或rejected状态,且状态不受外界影响,只有异步操作的结果可以决定当前是哪种状态;async函数内部自带执行器,当函数内部执行到一个 await 语句的时候,如果语句返回一个 promise 对象,那么函数将会等待 promise 对象的状态变为 resolve 后再继续向下执行。............
2022-08-03 16:48:13
328
原创 Leecode 59、54 |循序渐进理解螺旋矩阵
按照螺旋矩阵模拟即可,先从左到右,在从上到下,再从右到左,再从下到上。每次进行cur++操作,直到累加到total为止。最后返回二维数组即可
2022-07-26 10:49:43
168
原创 快速排序算法的过程及JavaScript实现
思路都是一样的,首先选取基准pivot,将小于pivot元素放到pivot左边,大于pivot元素放到pivot右边,对左子列、右子列分别重复上述操作直到所有子列长度为1快速排序完成~第二步,按照顺序,将每个元素与"基准"进行比较,形成两个子集,一个"小于45",另一个"大于等于45"。(2)所有小于"基准"的元素,都移到"基准"的左边;所有大于"基准"的元素,都移到"基准"的右边。(3)对"基准"左边和右边的两个子集,不断重复第一步和第二步,直到所有子集只剩下一个元素为止。......
2022-07-25 18:36:23
178
原创 JS闭包|谈谈对闭包的理解?什么是闭包?闭包有哪些应用场景?闭包有什么缺点?如何避免闭包引起的内存泄露?
闭包是指有权访问另一个函数作用域变量的函数,比如在函数A中声明了另一个函数B且函数B引用了函数A中的变量并将内部函数B作为外部函数A的返回值,那么这个函数B就是我们所说的闭包。闭包会使得函数中的变量都被长久保存在内存中,增加内存使用量。作用一个是可以直接访问函数内部的私有变量,并且形成私有空间,不受外界干扰(保护),另一个就是让这些变量的值始终保持在内存中(保存)比如使用闭包模拟私有变量、方法、实现函数柯里化、模块化、setTimeout传参、回调、立即执行函数、函数防抖、节流等。...
2022-07-20 09:44:49
807
原创 html css js大小写敏感的问题
htmlt在普通情况下,对大小写不敏感,但对于属性值的内容区分大小写 css对大小写不敏感 JavaScript对大小写敏感,严格区分
2022-06-25 10:21:46
729
原创 面试常问|session,token,cookie,sessionstorage,localstorage的区别
session,token,cookie,sessionstorage,localstorage的区别
2022-05-27 09:30:34
494
原创 Http缓存机制(强缓存与协商缓存)及过程
为什么要缓存:可以减少网络请求的次数和数量,降低网络延迟,加速页面加载,提高用户体验等缓存机制:强制缓存:服务器端认为请求资源应该被缓存,则在响应头部设置cache-control:max-age=(一年时间),如果max-age没有过期,则下次请求直接在缓存中获取资源cache-control:no-store表示不使用强制缓存no-cache表示缓存需要重新验证是否过期协商缓存(对比缓存):一种服务端的缓存策略。第一次请求,服务器端认为请求资源可以被缓存,则返回资源和资源
2022-05-20 16:21:54
549
原创 原型和原型链问题
一、原型每一个构造函数都有一个属性prototype,我们称之为原型,同时prototype也是一个对象,我们称之为原型对象,在原型对象中有一个属性constructor,constructor指向他的构造函数二、原型链通过构造函数构造出来的实例对象有一个属性_proto_,指向构造函数的原型对象(prototype)多个对象通过_proto_连起来的方式形成的过程我们称为原型链...
2022-05-18 21:47:12
143
原创 unable to resolve dependency tree错误的解决办法
遇到的错误:npm install 报错报错原因:node版本太高导致插件不兼容解决办法:输入以下内容npm i --legacy-peer-deps最终解决:
2022-04-30 23:02:10
3753
原创 Git远程库关联错误如何修改(以Gitee为例)--解决fatal: remote origin already exists.报错
在使用命令git remote add时报错:git remote add origin [email protected]:zixuanmoon/vue_shop.gitfatal: remote origin already exists.这说明本地库已经关联了一个名叫vue_shop的远程库,此时,可以先用git remote -v查看远程库信息:可以看到,本地库已经关联了vue_shop的远程库我们可以通过git remote rm origin命令删除现绑定远程库再关联你想要的的远程库
2022-04-19 18:54:08
981
原创 Git基本命令
初始化一个Git仓库(以/home/gitee/test文件夹为例)$ cd /home/gitee/test #进入git文件夹$ git init #初始化一个Git仓库将文件添加到Git的暂存区$ git add "readme.txt" 注:使用git add -A或git add . 可以提交当前仓库的所有改动。查看仓库当前文件提交状态(A:提交成功;AM:文件在添加到缓存之后又有改动)$ git status -s从Git的暂存区提交版本到
2022-04-19 18:40:18
75
原创 git push失败,提示fatal: The current branch master has no upstream branch.的解决办法
当项目完成想要将本地master推送到远端的码云,使用git push 提交时报错:解决办法:按照提示,键入git push --set-upstream origin master结果又出来一个新的错误
2022-04-19 18:33:06
9903
转载 码云同步开发教程
码云同步开发使用教程_凌霜残雪的博客-CSDN博客_码云使用教程 使用码云和使用GitHub类似,我们在码云上注册账号并登录后,需要先上传自己的SSH公钥。选择右上角用户头像 -> 菜单“设置”,然后选择“SSH公钥”,填写一个便于识别的标题,然后把用户主目录下的.ssh/id_rsa.pub文件的内容粘贴进去:生成并部署SSH key 1.如何生成ssh公钥你可以按如下命令来生成 sshkey: ssh-keygen -t ...https://blog.csdn....
2022-04-19 18:11:22
140
原创 码云的相关操作|如何提交代码及推送本地子分支到码云
码云相关操作A.注册登录码云账号B.安装git在Windows上使用Git,可以从Git官网直接下载安装程序进行安装。测试命令:git --versionC.点击网站右上角“登录”,登录码云,并进行账号设置[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4I5h24QJ-1650362075691)(images/码云点击设置.jpg)]D.在本地创建公钥:在终端运行:ssh-keygen -t rsa -C “[email protected]”[外链图片转存失败,源站
2022-04-19 18:08:10
519
原创 vue脚手架安装步骤
步骤: 打开终端配置npm淘宝镜像: npm config set registry https://registry.npm.taobao.org 全局安装@vue/cli,在终端输入 npm install -g @vue/cli 切换到你要创建项目的目录,然后使用命令创建项目 vue create xxxx 启动项目: 终端输入npm run serve...
2022-04-16 23:54:46
625
原创 前端面试题|Vue中key值的作用
key是虚拟DOM中对象的标识,具有唯一性当数据发生改变时,Vue会根据新数据生成新的虚拟DOM,随后通过比较新旧虚拟DOM的key值是否相同,进行DOM元素的复用或更新因此Vue中key的作用主要是为了更高效的更新虚拟DOM,同时保障渲染的准确性...
2022-04-07 16:36:40
1279
原创 CSDN文章导出为pdf
打开文章,f12打开控制台 在控制台下方输入以下代码:(function(){$("#side").remove();$("#comment_title, #comment_list, #comment_bar, #comment_form, .announce, #ad_cen, #ad_bot").remove();$(".nav_top_2011, #header, #navigator").remove();$(".p4course_target, .comment-box,
2022-04-03 17:07:23
127
原创 如何理解js中的同步和异步
首先需要理解:JS是单线程运行的同步和异步,无论如何,做事情的时候都是只有一条流水线(单线程),同步和异步的差别就在于这条流水线上各个流程的执行顺序不同。同步就是程序按照正常的执行顺序,依次执行异步就是改变程序正常执行顺序,等初始化代码执行完之后在某个时刻执行回调代码。最基础的异步是setTimeout和setInterval等回调函数,因为它们可以控制js的执行顺序。...
2022-04-01 10:34:36
1239
原创 回调函数和立即执行函数(IIFE)
回调函数:定义:自己定义的,自己没有调用,但在某一时刻或某个条件下,最后执行了的函数常见回调函数:DOM事件回调函数 定时器回调函数 ajax请求回调函数 生命周期回调函数立即执行函数表达式(IIFE)又称匿名函数自调用,立即执行函数...
2022-04-01 09:49:30
232
原创 js中的基本数据类型及判断
JS中八大基本数据类型:基本数据(值)类型:String,Number,Boolean,null,undefined引用(对象)数据类型:Object,Function,Array判断:===(不做类型转换):只能判断null和undefined(只有一个值);A=== B的返回值为true/falsetypeof:可以判断string,number,boolean,undefined,function⚠️不能区别出:null与object;array和object所以不能
2022-04-01 09:28:52
206
原创 js的函数对象,构造函数,实例对象的关系
一个简单的例子理解:动物--类/函数对象 狗--实例对象,也可简称对象具体解释:函数对象:将函数作为对象来使用,简称函数对象 如:Fun1既是函数名,也是一个函数对象。声明函数时函数对象产生js中任意函数都是Function的实例构造函数:用new 函数名 来创建(实例)对象并初始化(实例)对象的函数叫构造函数,构造函数一般首字母大写任何函数都可以作为构造函数存在,构造函数与普通函数的区别在于:构造函数的功能是在创建(实例)对象时初始化对象,与new一起使用实例对象:通过var
2022-03-30 09:18:03
704
原创 js中 apply,call,bind方法的区别和使用
用法:B.apply(A,arguments[]);B.call(A,arg1,arg2);B.bind(A,arg1,arg2);联系:它们在功能上是没有区别的,都是通过改变this的指向(第一个参数都是this的指向对象),让一个对象(A)调用另一对象(B)的方法。通过这一特性,可以让一个函数成为任意对象的方法进行调用。区别:主要是在于方法的实现形式和参数传递上的不同。(1)call() 和 apply() 会立即执行并输出函数执行结果,而 bind() 不
2022-03-27 22:07:47
786
原创 html css js中分号的使用
为什么要使用分号分号告诉我们当前语句已终止,其后的其他语句是新语句。使用分号可以消除查看代码时的歧义和混乱。htmlhtml中分号不是必须有,但最好写上csscss中必须写分号分隔jsjs中分号不是必须要有的,当前语句和下一行的语句无法合并解析,js会自动编译添加分号,但在某些特殊情况下必须手动添加分号。var c=x+f(a+b)toString()//报错,js解析成var y=x+f(a+b).toString();正确写法如下:v
2022-03-27 21:27:57
1459
原创 html css js中注释的使用
html<!--注释内容-->css/* 多行注释 *///单行注释,尽量不要使用,有些浏览器不兼容js/*多行注释*///单行注释
2022-03-27 21:02:59
114
原创 html 引入外部css、js文件
引入外部CSS文件:/*方法一*/<style type=“text/css”>@import url(box.css);</style>/*方法二*/<link rel=“stylesheet” href=“box.css” type=“text/css>引入外部JS文件<script type=“text/script” src=“box.js”>...
2022-03-18 22:39:25
260
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人