![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JavaScript
文章平均质量分 71
CreatorRay
这个作者很懒,什么都没留下…
展开
-
JSON方法实现深拷贝存在的问题
现在的前端面试中,深拷贝出现的频率极高。常规的问题中,可能首先问你,什么是深拷贝,实现深拷贝的方式都有哪些,你可能会答出几点,比如通过JSON对象提供的JSON.strinfy和JSON.parse来实现,因为这种实现方式异常简单,一行代码即可,心里美滋滋,你让我手写我丝毫不慌。那么,面试官如果反手问一句,通过JSON提供的方法实现深拷贝会不会存在哪些问题?你是否能答出满意的结果呢。原创 2023-11-11 02:15:53 · 536 阅读 · 0 评论 -
如何利用浏览器的可见性API优化网站性能
最近在使用微软AI聊天工具Bing时,发现一个有趣的东西。我向它提问后,它在持续输出的过程中,如果我离开了当前它的浏览器会话,比如切屏,看当前浏览器的其它标签页,它会默认停止它的输出,等我回来它才继续。我们来探讨一下这个现象的实现方式,以及它的作用。原创 2023-11-08 19:16:49 · 103 阅读 · 0 评论 -
【手撕代码系列】JS手写实现深拷贝
在本篇博客中,我们介绍了如何手写实现深拷贝。我们实现了一个递归遍历对象的函数,同时处理了函数和循环引用的情况。这个方法虽然比较简单,但是它可以很好地处理大部分情况,避免在修改对象时对原始对象产生影响。需要注意的是,手写实现深拷贝可能会带来一些性能上的问题。因为递归地遍历对象需要消耗大量的时间和内存。在处理大型对象或者嵌套层次很深的对象时,可能会出现性能问题。因此,建议在实际开发中,使用成熟的深拷贝库,如lodash的cloneDeep方法,可以更好地处理性能问题。原创 2023-05-19 10:37:22 · 1193 阅读 · 1 评论 -
【手撕代码系列】JS手写实现bind方法
公众号:Code程序人生,分享前端所见所闻在JavaScript中,bind方法允许我们绑定函数的上下文并返回一个新的函数。在这篇文章中,我们将手写实现bind方法,以更好地了解它的内部工作原理。原创 2023-05-10 17:11:21 · 913 阅读 · 0 评论 -
【手撕代码系列】JS手写实现apply方法
在本文中,我们手写实现了apply()方法,并解释了其实现原理。通过了解这个方法的工作原理,我们可以更好地理解JavaScript中函数的调用方式。原创 2023-05-10 17:03:20 · 939 阅读 · 0 评论 -
【手撕代码系列】JS手写实现call方法
在本篇文章中,我们手写实现了JavaScript中的call方法,并讨论了如何使用它来调用函数。使用手写的call方法来调用函数,从而实现更加灵活和可读性强的代码。call方法是JavaScript中非常重要的一个概念,在开发过程中经常被使用。手写实现call方法不仅可以帮助我们更深入地了解其底层原理,同时也可以帮助我们在开发中更好地掌握函数的调用方式。需要注意的是,虽然手写实现call方法可以帮助我们更好地理解其底层实现原理,但在实际开发中,建议使用JavaScript内置的call。原创 2023-05-09 15:38:42 · 337 阅读 · 0 评论 -
【手撕代码系列】JS手写实现节流函数
节流函数是一种限制事件触发频率的函数,它可以确保在一定时间内只执行一次回调函数,从而避免事件的频繁触发。节流函数的实现有两种常见方式:定时器和时间戳。节流函数是一种非常有用的函数,它可以限制事件的触发频率,提高页面的性能并提高用户体验。在实际开发中,我们可以根据不同的场景选择不同的实现方式,例如定时器方式和时间戳方式。使用节流函数可以有效避免频繁触发事件导致的性能问题,并且可以让用户获得更好的交互体验。原创 2023-05-06 10:12:29 · 355 阅读 · 0 评论 -
【手撕代码系列】JS手写实现防抖函数
防抖函数是一种简单而强大的性能优化技术,可以避免在高频触发的情况下频繁地执行函数,从而减少资源的消耗。通过手写实现防抖函数,我们可以更好地理解防抖的原理和实现方式,并在实际开发中应用这种技术来提高程序的性能。原创 2023-05-04 00:54:23 · 362 阅读 · 0 评论 -
【手撕代码系列】JS手写实现Promise.race
是一个非常实用的Promise方法,它可以让我们同时运行多个异步操作,并返回最先完成的操作的结果或错误原因。本文通过手写实现的方式,介绍了一个简单的race()函数的实现过程,并通过一个示例来演示它的使用。原创 2023-05-01 20:51:01 · 1060 阅读 · 1 评论 -
【手撕代码系列】JS手写实现Promise.all
在本篇博客中,我们手写实现了 Promise.all() 方法,实现了该方法的核心思想,并提供了使用示例。手写实现一些核心的 JavaScript 方法可以帮助我们更好地理解这些方法的原理和工作方式,同时也可以提高我们的编程技能和代码能力。原创 2023-04-28 10:47:54 · 1046 阅读 · 0 评论 -
【手撕代码系列】JS手写实现Promise
在 JavaScript 中,Promise 是一种用于处理异步操作的对象,它可以让异步代码更易于理解和管理。在本文中,我们将手写实现一个 Promise。原创 2023-04-27 19:27:32 · 445 阅读 · 0 评论 -
上手京东微前端框架micro-app(保姆级教学)
通过实践,我们可以发现micro-app这个微前端框架的,代码侵入性极低,我们只在主服务里写了几行关于微前端配置的代码,子服务在不进行通信的前提下,只需要配置跨域即可。如此低成本就能将N个独立的子服务集成到一起,对于原服务也不会有任何影响。甚至不限制任何技术栈,我们的主服务是React,子服务1是React,子服务2是Vue,也可以很轻松的进行集成。原创 2023-04-05 18:56:47 · 2062 阅读 · 2 评论