helloworld1024fd
码龄4年
求更新 关注
提问 私信
  • 博客:126,857
    社区:118
    126,975
    总访问量
  • 243
    原创
  • 244
    粉丝
  • 0
    关注
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:浙江省
加入CSDN时间: 2022-07-31

个人简介:一枚小程序员 分享技术博客

博客简介:

helloworld1024fd的博客

查看详细资料
个人成就
  • 获得37次点赞
  • 内容获得10次评论
  • 获得287次收藏
  • 代码片获得285次分享
  • 博客总排名2,445,835名
创作历程
  • 69篇
    2023年
  • 174篇
    2022年
成就勋章

TA关注的专栏 0

TA关注的收藏夹 0

TA关注的社区 0

TA参与的活动 0

兴趣领域 设置
  • 前端
    vue.js前端框架
  • 网络与通信
    https
  • 学习和成长
    面试
创作活动更多

「谁说嵌入式只是调包和焊板子?」—— 2026嵌入式全栈技术征锋令

谁说嵌入式只会“Ctrl+C 调包”和“拿电烙铁焊板子”?2026嵌入式全栈技术征锋令正式启幕! 本次活动专为硬核硬件/软件开发者打造,无论你是刚玩转裸机外设的萌新,还是精通RTOS调度、死磕底层驱动的行业老手,亦或是执掌系统架构的大神,这里都是你证明实力的舞台! 拒绝表面功夫,每一行代码,都有撬动硬件的力量!晒出你的硬核工程实战,为嵌入式开发者的全栈硬实力正名!

213人参与 去参加
  • 最近
  • 文章
  • 专栏
  • 代码仓
  • 资源
  • 收藏
  • 关注/订阅/互动
更多
  • 最近

  • 文章

  • 专栏

  • 代码仓

  • 资源

  • 收藏

  • 关注/订阅/互动

  • 社区

  • 帖子

  • 问答

  • 课程

  • 视频

搜索 取消

写个JS深拷贝,面试备用

我们先判断其类型,再对对象和数组分别递归调用,如果是基本数据类型就直接赋值,至此,我们已经可以完成一个基础的深拷贝,但是还远远不够,因为我们这里只对数组做了类型判断,其他默认都是object,但是实际情况还会有很多类型,例如,RegExp,Date,Null,Undefined,function等等很多的类型,所以接下来我们将其完善,加上所以判断,由于类型比较多,我们可以把对象的判断单独抽离出来,接下来一起完善它吧:在这之前我们还需要考虑的一个点就是 关于js的。
原创
博文更新于 2023.03.13 ·
445 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

前端一面手写面试题总结

由于后面没有传入参数,等于返回的temp函数不被执行而是打印,了解JS的朋友都知道对象的toString是修改对象转换字符串的方法,因此代码中temp函数的toString函数return m值,而m值是最后一步执行函数时的值m=12,所以返回值是12。浅拷贝是指,一个新的对象对原始对象的属性值进行精确地拷贝,如果拷贝的是基本数据类型,拷贝的就是基本数据类型的值,如果是引用数据类型,拷贝的就是内存地址。(4)判断函数的返回值类型,如果是值类型,返回创建的对象。如果是引用类型,就返回这个引用类型的对象。
原创
博文更新于 2023.03.13 ·
585 阅读 ·
0 点赞 ·
1 评论 ·
1 收藏

京东前端手写面试题集锦

执行temp(5),这个函数内执行add(m+n),n是此次传进来的数值5,m值还是上一步中的7,所以add(m+n)=add(7+5)=add(12),此时m=12,并且返回temp函数。执行temp(4),这个函数内执行add(m+n),n是此次传进来的数值4,m值还是上一步中的3,所以add(m+n)=add(3+4)=add(7),此时m=7,并且返回temp函数。event bus既是node中各个模块的基石,又是前端组件通信的依赖手段之一,同时涉及了订阅-发布设计模式,是非常重要的基础。
原创
博文更新于 2023.03.13 ·
859 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

几个常见的js手写题,你能写出来几道

浏览器的一些事件,如:resize,scroll,keydown,keyup,keypress,mousemove等。这些事件触发频率太过频繁,绑定在这些事件上的回调函数会不停的被调用。观察者模式观察者Observer和主体Subject都比较清晰,而发布订阅模式的发布和订阅都由一个调度中心来处理,发布者和订阅者界限模糊。其实面试的时候主要靠死记硬背,因为有一次 20 分钟让我写 5 个实现(包括promise),,,谁给你思考的时间。函数的参数的处理逻辑,待 Promise 操作有了结果就会执行。
原创
博文更新于 2023.03.13 ·
347 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

假如面试官要你手写一个promise

在开发中,经常需要用到promise,promise具有很多特性,这一次将对promise特性进行总结,并从零写一个promise。
原创
博文更新于 2023.03.01 ·
402 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

京东前端二面常考手写面试题(必备)

发布订阅者模式,一种对象间一对多的依赖关系,但一个对象的状态发生改变时,所依赖它的对象都将得到状态改变的通知。
原创
博文更新于 2023.03.01 ·
809 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零手写react-router

蛮多同学可能会觉得很复杂, 说用都还没用明白, 还从0实现一个, 其实router并不复杂哈, 甚至说你看了这篇博客以后, 你都会觉得router的核心原理也就那么回事至于帮助我们实现了什么东西我就不过多阐述了, 这个直接移步官方文档, 我们下面直接聊实现另外:源码有依赖两个库和history, 所以我这里也就直接引入这两个库了,虽然下面我都会讲到基本使用, 但是同学有时间的话还是可以阅读以下官方文档routerhookshookshooksreacthookmatchhistoryRouter。
原创
博文更新于 2023.03.01 ·
625 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

京东前端二面高频手写面试题(持续更新中)

判断对象是否存在循环引用循环引用对象本来没有什么问题,但是序列化的时候就会发生问题,比如调用对该类对象进行序列化,就会报错: 下面方法可以用来判断一个对象中是否已存在循环引用:查找有序二维数组的目标值:二维数组斜向打印:手写 Promise实现Promise相关方法实现Promise的resolve传参为一个 , 则直接返回它。传参为一个 对象,返回的 会跟随这个对象,采用它的最终状态作为自己的状态。其他情况,直接返回以该值为成功状态的对象。实现 Promise.rejec
原创
博文更新于 2023.02.28 ·
409 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从零到一手写迷你版Vue

监听器,数据变化更新对应节点视图// 创建Watcher监听器,负责更新视图 class Watcher {// vm vue实例,依赖key,updateFn更新函数(编译阶段传递进来) constructor(vm , key , updateFn) {// 调用更新函数,获取最新值传递进去 this . $updateFn . call(this . $vm , this . $vm [ this . $key ]) } }data的一个属性对应一个Dep实例管理多个Watcher。
原创
博文更新于 2023.02.28 ·
2122 阅读 ·
0 点赞 ·
0 评论 ·
4 收藏

从零开始实现一个Promise

你怕忘记,一般会用清单记录onResolvedCallbacks = [‘做完了手上的事,去老板办公室’],onRejectedCallbacks = [‘做不完,滚蛋’],1秒后看完成结果,再依据选择下一步。同时,成功和失败的返回值是不同的,成功的时候返回的是一个结果数组,而失败的时候则返回最先被reject失败状态的值。promise的状态只能在resolve或者reject的时候改变,同步代码执行到then回调的时候promise的状态还是pending,明细不符合我们的期望。后生在此向老前辈致敬。
原创
博文更新于 2023.02.28 ·
212 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

2023前端二面经典手写面试题

call做了什么:手写常见排序快速排序选择排序插入排序实现一个JS函数柯里化柯里化把多次传入的参数合并,柯里化是一个高阶函数每次都返回一个新函数每次入参都是一个当柯里化函数接收到足够参数后,就会执行原函数,如何去确定何时达到足够的参数呢?有两种思路:将这两点结合一下,实现一个简单 函数通用版ES6写法实现bind方法 返回了一个函数,对于函数来说有两种方式调用,一种是直接调用,一种是通过 的方式,我们先来说直接调用的方式对于直接调用来说,这里选择了
原创
博文更新于 2023.02.27 ·
464 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

一步步实现React-Hooks核心原理

React Hooks已经推出一段时间,大家应该比较熟悉,或者多多少少在项目中用过。写这篇文章简单分析一下Hooks的原理,并带大家实现一个简易版的Hooks。这篇写的比较细,相关的知识点都会解释,给大家刷新一下记忆。
原创
博文更新于 2023.02.27 ·
726 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

js函数柯里化-面试手写版

其实关于柯里化的运用核心还是对函数闭包的灵活运用,深刻理解闭包和作用域后就可以写出很多灵活巧妙的方法。
原创
博文更新于 2023.02.27 ·
355 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

阿里前端二面经典手写面试题汇总

ES5实现继承-详细第一种方式是借助call实现继承第二种方式借助原型链实现继承:看似没有问题,父类的方法和属性都能够访问,但实际上有一个潜在的不足。举个例子:明明我只改变了s1的play属性,为什么s2也跟着变了呢?很简单,因为两个实例使用的是同一个原型对象第三种方式:将前两种组合:第四种方式: 组合继承的优化1第五种方式(最推荐使用):优化2实现instanceOf思路:实现一个队列实现every方法实现LRU淘汰算法 缓存算法是一个非常经典的算法,在很多面试中
原创
博文更新于 2023.02.27 ·
846 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

JS继承有哪些,你能否手写其中一两种呢?

这也许比将其称之为继承更为贴切,因为“被继承”了的功能并没有被拷贝到正在“进行继承”的对象中,相反它仍存在于通用的对象中。继承,包括原型链继承、构造函数继承、组合继承、寄生组合继承、原型式继承、 ES6 继承,以及 多继承与 new。弥补了方式2的缺陷,可以继承实例属性/方法,也可以继承原型属性/方法,不存在引用属性共享问题,可传参,可复用。顾名思义,组合继承就是将原型链继承与构造函数继承组合在一起,从而发挥两者之长的一种继承模式。系列暂定 27 篇,从基础,到原型,到异步,到设计模式,到架构模式等,
原创
博文更新于 2023.02.23 ·
239 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

2023前端二面手写面试题总结

定时器指定的时间间隔,表示的是何时将定时器的代码添加到消息队列,而不是何时执行代码。所以真正何时执行代码的时间是不能保证的,取决于何时被主线程的事件循环取到,并执行。被推入任务队列时,如果在它前面有很多任务或者某个任务等待时间较长比如网络请求等,那么这个定时器的执行时间和我们预定它执行的时间可能并不一致。到任务队列前,都要进行一下判断(看上次的任务是否仍在队列中)。了解了属性和方法之后,根据 AJAX 的步骤,手写最简单的 GET 请求。定时器代码至队列中,主线程中还有任务在执行,所以等待,
原创
博文更新于 2023.02.23 ·
316 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

高频js手写题之实现数组扁平化、深拷贝、总线模式

古人学问无遗力,少壮工夫老始成。纸上得来终觉浅,绝知此事要躬行。看懂一道算法题很快,但我们必须将这道题的思路理清、手写出来。
原创
博文更新于 2023.02.23 ·
389 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

前端常见手写面试题集锦

写一个生成器函数并没有什么难度,但在面试的过程中,面试官往往对生成器这种语法糖背后的实现逻辑更感兴趣。下面我们要做的,不仅仅是写一个迭代器对象,而是用。Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__。中,实现一个迭代器生成函数并不是什么难事儿,因为ES6早帮我们考虑好了全套的解决方案,内置了贴心的。此处为了记录每次遍历的位置,我们实现了一个闭包,借助自由变量来做我们的迭代过程中的“游标”。内的变量替换,如果属性不存在保持原样(比如。
原创
博文更新于 2023.02.23 ·
1254 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

美团前端常考手写面试题总结

setInterval 的作用是每隔一段指定时间执行一个函数,但是这个执行不是真的到了时间立即执行,它真正的作用是每隔一段时间将事件加入事件队列中去,只有当当前的执行栈为空的时候,才能去从事件队列中取出事件执行。所以可能会出现这样的情况,就是当前执行栈执行的时间很长,导致事件队列里边积累多个定时器加入的事件,当执行栈结束的时候,这些事件会依次执行,因此就不能到间隔一段时间执行的效果。节流可以使用在 scroll 函数的事件监听上,通过事件节流来降低事件调用的频率。ES5方法:使用map存储不重复的数字。
原创
博文更新于 2023.02.21 ·
573 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

面试官:能用JavaScript手写一个bind函数吗

经常会看到网上各种手写bind的教程,下面是我在自己实现手写bind的过程中遇到的问题与思考。如果对于如何实现一个手写bind还有疑惑的话,那么可以先看看上面两篇文章。
原创
博文更新于 2023.02.21 ·
384 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多