- 博客(12)
- 收藏
- 关注
原创 节流函数和防抖函数
核心思想:触发事件会设置定时器,定时器存在则不做反应。一开始触发了事件,在触发事件的同时创造定时器,后面由于该定时器存在,就不再设置新的定时器。最终实现频繁触发事件,只执行第一次。核心思想:触发事件都会设置一个定时器,再次触发再次创建,并清除前面设置的定时器,直到最后一次触发事件,等待定时器倒计时完成并执行。防抖:单位时间内,频繁触发事件,只执行最后一次。节流:单位时间内,频繁触发事件,只执行第一次。
2024-04-09 23:15:47
161
原创 css动画
运行结果:我们可以看到一个粉红色的div盒子沿着向右100px,再向下100px,再向左100px,再向上100px的路线无休止运动。css中也能做出动态效果,这里需要借助css中的动画。
2024-04-01 22:32:12
381
原创 for循环中延迟打印
众所周知,js是单线程的,主线程会执行同步任务,异步任务会被放入任务队列中,同步任务全部完成后再执行异步任务。设置时间为i*1000,打印第一个1花费了0*1000ms,打印第二个1花费了1*1000ms,打印第三个1花费了2*1000ms······这样子就达到了我们想要每隔一秒打印一次的需求。在这段代码中,“设置延迟函数setTimeout,每个延迟函数3秒后执行”这一过程执行了十次,所以执行结果为三秒后10个1一瞬间打印。执行结果:三秒后10个1一瞬间打印,并没有实现我们想要的每隔一秒打印一次。
2024-03-28 23:05:44
545
1
原创 js事件循环
这是因为浏览器仅分配给了js一个主线程来执行任务,且一次只能执行一个任务。但是js某些任务是需要耗时的,例如定时器和ajax的请求操作,HTML5为实现这些任务允许js脚本创建多个线程。于是js中既有同步又有异步了。一旦同步任务都执行完毕,系统就会依次读取任务队列中的任务,于是被读取的异步任务结束等待状态,进入执行栈,开始执行。浏览器会反复读取任务队列中的任务,逐个完成任务队列中的任务。异步任务:异步任务通过回调函数实现,异步任务被添加到了任务队列中。同步任务:同步任务都在主线程上执行,形成一个执行栈。
2024-03-26 22:46:48
406
1
原创 vue2中v-for的使用
语法:v-for="(item,index) in 数组名"vue2中v-for主要是用来遍历和通过数据多次渲染页面。
2024-03-23 10:45:00
540
原创 vue3路由懒加载
路由懒加载作用:部分项目过大,首次加载耗费时间较多,路由懒加载可以让首屏组件加载速度更快一些,减少用户首次使用等待时间。懒加载通过使用import进行按需导入。路由懒加载的本质:按需引入。
2024-03-21 21:07:47
842
1
原创 js正则表达式
正则表达式是用于匹配字符串组合的模式,在js中,正则表达式也是对象是,通常用于查找、替换那些符合正则表达式的文本。元字符:一些具有特殊含义的字符,比如普通字符a-z是abcdefgh······,换成元字符写法:[a-z]作用:表单验证(匹配)、过滤敏感词(替换)、字符串中提取我们想要的部分(提取){n,} 重复n次或更多次。{n,m} 重复n到m次数。边界符:表示位置,开头和结尾,必须用什么开头,什么结尾。正则可以配合元字符和边界符进行书写。
2024-03-19 21:14:53
219
原创 js本地存储(localStorage)
运行结果: 控制台打印obj对象,且通过f12->Application->Local Storage可以查看到存入了的JSON字符串格式的obj。运行结果:控制台打印666,且通过f12->Application->Local Storage可以查看到存入了键为number,值为666的值。取数据:JSON.parse(localStorage.getItem('obj')) //将obj先取出,再转为原来的数据格式。取数据:localStorgae.getItem(key)
2024-03-17 18:06:54
1267
1
原创 js事件流感悟
如果我们点击了Document,执行过程中先经过div,然后经过body,再经过html,最后来到Document,这一过程叫冒泡(小范围到大范围)。如果我们点击了div标签,执行过程时先经过了Document,然后经过html,再经过body,最后来到div,这一过程叫捕获(大范围到小范围)。我们点击黄色盒子,会依次弹出点击了孙子、点击了爸爸、点击了爷爷,从大范围到小范围,这就是事件冒泡。我们点击黄色盒子,会依次弹出点击了爷爷、点击了爸爸、点击了孙子,从大范围到小范围,这就是事件捕获。
2024-03-16 09:07:22
393
原创 js生成n-m之间的随机整数
首先我们先使用Math.random()随机生成一个0-1之间(不包括1)的随机小数,然后乘上一个(50-30+1),这样子我们可以得到0到21(不包括21)之间的随机实数,然后使用Math.floor()舍去小数向下取整,就可以得到一个0-21(不包括21)的随机整数,也就是0-20,然后我们再在后面加上一个起始数字,也就是30,这样子就可以得到30-50之间的随机整数了。round:四舍五入(parseInt取整数部分,包括字符串中的整数,但是round只能取数字型的整数)该公式是如何起作用的?
2024-03-14 11:49:36
494
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人