- 博客(42)
- 收藏
- 关注
原创 LeetCode刷题日记(双指针、滑动窗口、螺旋矩阵)
可以使用滑动窗口,在一个循环中使用两个索引,一个表示字串开始位置,一个表示字串结束位置,先让字串结束位置随着循环右移,同时累加字串和,当大于目标值时开始移动字串起始位置,同时更新字串和,比较每个满足条件的字串长度,取最小值。最简单的办法就是遍历求平方,最后再将结果进行排序,但是这明显不是出题者的想要考查的点,可以选择双指针解法,首先声明一个队列,从两端开始遍历数组,循环比较两个端点的平方的大小,依次将大的值如队列。需要注意的同二分法一样需要按照相同的开闭规则来循环,注意边界,特殊处理n为基数时的中间数据。
2022-12-08 22:19:17
134
原创 Leetcode每日一题之两个数组的交集
说起算法,对于前端来说,好像离我们的工作挺遥远的,至少目前对我来说好像并没有什么用处。断断续续刷了大半年的Leetcode,一两百题是有刷到的,但是感觉并没有什么用,遇到重复的题,不看题解,大部分还是做不出来,能做出来的还是靠笨办法,很少能自己想到题解上面的最优解。现在的态度就是买一手保险吧,万一哪次面试正好遇到我刷过还记得到的题呢。一大早就定了闹钟起来看比赛,最气的是被碾压了,甚至没有看到第五把,果然把希望放在JDG身上是不靠谱的,看着状态大飞老师要拿第四冠了。
2022-10-30 09:15:21
184
原创 【无标题】JavaScript手写系列(三)——Promise
Promise也是面试中常考的问题,在日常工作中倒是常常用到,但真要让我说一下,我还真的说不出来,所以我这里直接截图阮一峰《#ECMAScript 6 入门Promise,两个特点状态变化不受外界影响、一旦状态改变,就不会再变,任何时候都可以得到这个结果,接下来我就带大姐来实现一个简单的Promise。1.首先我们来定义三个静态变量保存Promise的三种状态。// 定义promise3种状态 pending fulfilled rejected}2.下来再定义构造函数,该函数接受一个回调函数。
2022-10-28 23:35:43
315
原创 学会解构赋值的这些用法,我每天又多了一个小时摸鱼时间
ES6引入了一个新的语法特性,名为解构,专用于数组解构和对象解构,这个语法用起来比较方便,代码也比较简洁,但是你敢保证你真的全部都弄明白了,今天就带大家来复习一下解构的用法。以上就是今天解构的内容,学会这些,每天又可以多花一个小时来摸鱼。
2022-10-27 23:26:17
247
原创 JavaScript中this指向详解
关于JavaScript中this指向问题一直是一个老大难的问题,每次遇到基本都靠蒙,很少有蒙对的时候,究其原因还是自己对this的理解不够到位,今天就带大家一起来分析一下this指向问题。在分析之前,我们要先理解调用栈和调用位置这两个名词,只有明白了这两个名词才能理解this指向问题。调用栈是要执行该函数需要先执行的的所有函数,而调用位置就是当前执行函数的前一个执行函数的调用位置。下面来看一个例子function fn1(){ // 调用栈fn1fn2() // fn2调用}
2022-10-26 23:06:32
421
原创 JavaScript手写系列(二)———EventBus
Vue中的组件传参是日常开发中常遇到的需求,其中事件总线就是其中非常好用的一种,之前其实是比较排斥这种用法的,就是因为用的少,不了解所以出于对未知事物的恐惧,比较排斥。最近刷到一篇手写的文章,看完才明白其中的大概原理,今天就以我自己的理解来给大家讲讲基本实现。我们可以把简单理解为一个公众号,其中公众号作者拥有发布()消息的能力,用户拥有订阅()公众号的能力,公众号作者发布文章后,用户会收到文章内容推送,如果用户不喜欢推送的文章则可以选择取消订阅()公众号的能力。接下来我们就来简单实现一下这些功能。代码验证
2022-10-25 22:35:51
717
原创 JavaScript手写系列(一)——————手写apply、call
说起手写apply、call等方法是面经中常看到的问题了,其实我面试没有遇到过,但没遇到过不代表就不需要掌握。这些应该只有大厂才会考,作为一个双非毕业的普通人,还是要有一个进大厂的梦,万一哪天实现了呢,人一旦没了梦想,和咸鱼有什么区别。今天就带大家一起来实现一下简易版的call和apply。还有最难的bind手动实现,有点难,我自己还没搞明白,就不出来献丑了,先立个flag,等我搞明白了再回来补上。
2022-10-24 15:05:39
347
原创 客户端存储之cookie及浏览器Web Storage
日常开发中,常常会有一些数据我们不方便存在后端,需要我们自己存在客户端,在使用的时候再取出来。常用的客户端存储有cookie和浏览器存储API,这两个也是面试中常考的问题,每次遇到基本都是回答一下存储大小及有效期长短就差不多了,今天看红宝书,才发现其实还有许多忽略的东西。
2022-10-23 21:12:37
534
原创 三张图带你了解HTML元素尺寸
不知道你们有没有做过tabs切换与滚动条联动的需求,之前项目中有遇到过这种需求,然后就在百度上随随便便的搜了一段代码来贴上去,反正功能能用就行了,也没有认真去理解过代码,今天翻红宝书翻到元素尺寸这一节内容,写下此文已做记录。
2022-10-22 21:22:34
357
原创 Vue静态资源之public文件
今天在看公司项目代码时,发现了一个比较有趣的动画,审查元素才发现是一个gif动图,查看相关代码发现图片路径写的是于是我按照之前的习惯向上找三级,找了半天没有找到那个文件,最后全局搜索发现文件是存在根目录的public文件夹下。
2022-10-21 21:05:23
5837
1
原创 Vue实用自定义指令介绍
测试:”XXX!!!你的这个表单提交为什么又报错了。“我:”等等,我马上看一下,我明明就测过了,表单提交是没有问题的,你是不又传什么非法数据了?“测试:”没有,我都是按照要求传的。“我:”你先别慌提。。。“测试:”我已经提BUG了,你慢慢看吧。“我:”。。。“最后检查发现是测试提交的时候连点了两次提交,后端做了重复验证,所以第二次提交报错了。不知道有没有人和我遇到过同样的问题,其实也不是什么严重的问题,就是写代码的时候没有对提交按钮做防重点击。
2022-10-20 22:20:15
761
原创 Linux常用基础命令
作为一个前端,到底要不要学习Linux操作呢?之前我一直都觉得没有必要,但是最近公司项目后端服务需要在Linux系统上面启动,开始几次启动都让一个老哥帮我启动,我看他各种命令玩的飞起,我还以为他是后端,后来一问才发现他居然是一个前端,正好最近项目不忙,今天就来学习一下Linux基础命令。以上就是今天学习的内容,学会这些以后,吹牛逼说的东西都可以多吹点东西了。
2022-10-18 21:05:34
172
原创 一文搞懂JavaScript原型继承
JavaScript中原型的继承方法有**原型继承**、**利用构造函数继承**、**组合继承**、**组合寄生式继承
2022-10-17 21:00:00
207
原创 JavaScript原型初解
说起JavaScript原型,我就有点头大,几乎每次面试都会问到这个问题,而且每次都回答的不好,曾经有面试官提醒过我,说我相信是我自己是明白了的,但是我没听明白你讲的,所以你应该背一下网上的面经,感觉我现在都有阴影了,每次遇到我都尽量不回答,就怕回答不清楚,反而减分。今天翻红红宝书正好翻到这儿,就来尝试给我自己讲一下,看看能不能讲清楚。1.每一个函数都有一个prototype属性,这个属性是一个对象,包含应该有特定引用类型的实例共享的属性和方法。
2022-10-16 17:01:15
105
原创 JavaScript数组基础详解
数组是我们日常开发工作中常用的数据结构,说简单也简单,说复杂也复杂,今天一翻红宝书才发现之前有好多东西都不知道,今天就把我翻红宝书的结果和大家分享一下。
2022-10-15 23:05:37
212
原创 Javascript正则入门
最近遇到一个线上bug,小程序富文本编辑器的图片无法显示出来,查看报错发现是PC端上传图片时使用的是base64格式的图片,测试的时候传的图片都是比较小的图片,所以没有问题。一到线上,用户传的图片都PS处理过的大图,小程序富文本解析的时候由于过长会自动添加\r\n换行符,这样就导致图片显示不出来,百度说用正则把所有的\r\n替换成空字符串就行,就这么简单的正则居然都写不出来,突然意识到该学一下正则了,今天正好有空就来学习一下正则。
2022-10-14 21:45:41
163
原创 JavaScript基本引用类型之Date对象
ECMAScript的Date类型参考了Java早期版本中的java.util.Date,所以Date类型将日期保存为1970年1月1日零时到现在所经过的毫秒数。使用这种计时方式,可以表示的时间范围是从1970年1月1日零时到之后的285616年。
2022-10-13 23:16:11
184
原创 Vue3中使用富文本编辑器之wangEditor
之前公司项目有一个需求是在PC端发布文章,然后会在h5端推送文章,但是公司用到的富文本编辑器居然是UEditor,这款由百度提供的富文本编辑器已经停止维护几年了,个人感觉不好用,而且感觉样式也不太好看,最近新项目的富文本编辑器我果断选择了wangEditor,虽说是个人维护的项目,用起来还是挺顺手的,没有遇到大的问题。
2022-10-12 22:57:58
4609
1
原创 Javascript操作符知多少————查漏补缺
之前刷LeetCode有序数组的平方的时候,我把按位异或^符号当作了幂运算符,找了半天没找到哪儿错了,后来把题解打开一行一行的看,发现就只有求平方的那一行不一样,最后查看资料才发现,在计算器中^符号才是幂运算符。今天就来我就带大家来复习一下JS操作符。
2022-10-11 22:25:00
241
原创 JS数据类型,你真的搞懂了吗?
面试官:“你讲一下JS的数据类型吧。” 我:"Number、String、Array、Object…,记不起来了,平常只是在用,没怎么注意。"我不知道有没有道友遇到过和我我一样的情况,反正这就是我曾经面试的真实经历,这次血的教训告诉我,面试是真的要准备的,面经还是要背的,不然倒在这种问题上就是真的是活该了,没错,我就是活该。
2022-10-10 23:25:36
79
原创 Vue3个人使用笔记
Vue3.0正式版上线已经两年多了,脚手架默认Vue版本为3也已经快一年了。2021年的时候beta版本的Vue3用了差不多一年,年底跳槽后到现在基本就没有用过了,现在公司短时间是不可能升级vue版本的,真的怕以后出去就脱节了,今天就来回忆一下vue3的使用方法,加深记忆。以上就是我个人在使用中有用到的Vue3的相关信息。
2022-10-09 23:55:00
702
原创 Vue中几种常见的传参方式
Vue组件传参方也是面试最常考的内容,犹记得当初刚出来实习的时候,遇到一个需求,大概就是一个tabs下面有五个子页面,每个子页面表示订单的一种状态。当时是把五个子页面抽成了五个组件,做完后又有一个问题,就是在一个页面更改了数据状态之后,切换到另一个页面的时候要通知这个页面更新数据,当时是完全没有思路,找带我的大哥教我,讲了半天还是没有懂,最后还是大哥手把手的教我写完的,那时候觉得大哥好厉害,666,现在一想起来,不就是最简单的兄弟组件之前参数传递吗?😓今天就来回忆一下工作中常用的几种组件传参的方式。
2022-10-08 23:02:53
6499
原创 CSS中几种常用居中方案
面试官:“CSS中常用的居中方案有几种?”。我:“定位+flex布局”。面试官:”好的,你的情况我知道了,回去等通知吧。“我:”。。。“这是我之前面试时的真实经历,当时其实想到的就这两种,我觉得回答也没问题啊。说实话我平时并不怎么注重CSS,遇到不会的问题就直接百度,要多说几种居中方案,我是真的说不上来,没想到会在这儿载了。
2022-10-07 22:31:28
779
2
原创 Javascript闭包及作用域不深入理解
说到闭包,好像这又是一个面试必考的题目,印象中好像每次面试都被问到,然后每次面试官都都让讲讲,每次都说了一些,最后面试官也没有说到底说的对不对,所以之前说的到底是给面试加分还是减分都不清楚。我们用作用域链来解释闭包就比较好理解了,我们把getName函数执行结果返回给str变量,当函数执行完后,getName函数的执行上下随之被销毁,内部匿名函数也被销毁,但是这个匿名函数函数定义并没有被销毁,而是被赋值给了str变量(这里就是闭包的形成)。
2022-10-06 21:31:11
194
原创 国庆摆烂第五天,我总结了Javascript的同步、异步任务
Javascript的同步任务和异步任务也是一个面试的高频考点,这里讲一个笑话,话说当初刚出来实习的时候,记得去了一个贼偏僻的地方面试前端,转正4K,实习3k,包住不包吃。问打印顺序是什么,当时是真的不知道她到底要考什么,不知道什么叫同步任务和异步任务,一顿瞎猜,果断没猜对,然后就挂了。现在想想,这不就是同步异步问题吗?而且是最简单的那种。
2022-10-05 15:17:07
125
原创 国庆摆烂第四天,我总结了vue路由hash模式和history的区别
vue中常用的模式有两种,hash模式和history模式,最显著的区别就是看浏览器地址中有没有#,带有#的是hash模式,没有的是history模式。还有一种是abstract模式,主要用于不支持浏览器api的环境中,基本没有遇见过。
2022-10-04 22:41:10
559
原创 国庆摆烂第二天,我总结了项目中常用的ES6语法(一)
ES6语法,这几乎是一个面试必考的问题,而每次遇到这个问题的时候,如果不特意准备的话,回答的总是不太理想,不是这儿忘了就是那儿忘了,以前总觉得这没什么,到了要用的时候再百度一下就好了,但是每次遇到都百度,这就很浪费时间了。下面就我工作中常用到的ES语法做一下总结,加深一下印象,以后少百度一次就证明这次总结是成功的。
2022-10-02 22:08:16
144
原创 vue3 在弹窗中使用el-form表单编辑回显问题
问题描述在使用el-dialog嵌套el-form是,点击添加数据没有问题,点击修改数据时,el-form回显不出来。html代码<el-dialog :title="form.id?'修改材料':'新增材料'" v-model="show" width="50%" :before-close="handleClose"> <el-form ref="form" :model="form" label-width="80px"> <el-form-it
2021-08-04 14:12:10
7881
原创 ElementPlus 1.0.2-beta.59(包含59) 之后的国际化按需引入有破坏性变动导致组件汉化失效问题。
ElementPlus 1.0.2-beta.59(包含59) 之后的国际化按需引入有破坏性变动导致组件汉化失效问题。解决办法通过 ConfigProvider 的方式来使用,详细的使用方法请查阅 ConfigProvider 的文档。如果你的项目中还在使用 options API, 那么你应该使用此方法,我们更加建议用户使用该方法,因为这样会减少使用的负担,但如果你在项目中深度使用 Composition API,那么你可以使用第二种方法来为整个应用提供语言支持。<template>
2021-07-27 11:50:55
420
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人