
JS底层原理实现
文章平均质量分 68
~black-
分享前端知识,留个关注吧,一起学习。
展开
-
JS 浅拷贝和深拷贝详解(巨详细)
浅拷贝,指的是创建新的数据,这个数据有着原始数据属性值的一份精确拷贝如果属性是基本类型,拷贝的就是基本类型的值。如果属性是引用类型,拷贝的就是内存地址即浅拷贝是拷贝一层,深层次的引用类型则共享内存地址深拷贝开辟一个新的栈,两个对象属性完成相同,但是对应两个不同的地址,修改一个对象的属性,不会改变另一个对象的属性。原创 2023-06-02 16:06:52 · 5173 阅读 · 5 评论 -
JavaScript Date对象详解 以及 时间戳和时间的相互转换
创建 Date 对象: new Date() 以下四种方法同样可以创建 Date 对象: var d = new Date();(6)getMinutes() 返回Date对象的月份(0-11)因为月份返回0-11,因此一般获取月份都要 + 1。(5)getMillseconds() 返回Date对象的毫秒数(0-999)(7)getSeconds() 返回Date对象的秒数(0-59)(4)getHours() 返回Date对象的小时(0-23)(2)getDay() 返回一周中的某一天(0-6)原创 2023-06-02 10:53:15 · 4370 阅读 · 0 评论 -
JS 谈谈你对闭包的理解
防抖函数 https://mp.youkuaiyun.com/mp_blog/creation/editor/130862307。定义行为,然后把它关联到某个用户事件上(点击或者按键)。代码通常会作为一个回调(事件触发时调用的函数)绑定到事件。把接受多个参数的函数转换成接受一个单一参数的函数, 当多个参数中 有参数相等时,就实现了闭包和重用的效果。中,每当创建一个函数,闭包就会在函数创建的同时被创建出来,作为函数内部与外部连接起来的一座桥梁。闭包就是在一个内层函数中访问到其外层函数的作用域。原创 2023-05-27 18:37:51 · 2671 阅读 · 5 评论 -
JS防抖函数的实现(巨详细,秒懂)
在一定的时间间隔内,如果没有再次触发该函数,那么才会去执行函数体内的代码(例如发送网络请求)。原创 2023-05-25 11:35:53 · 15730 阅读 · 9 评论 -
JS reduce方法对后台数据的处理案例(秒解决)
在我们项目开发阶段,当后端传回来的数据不太理想或者不好直接使用的话,那么此时我们就必须对数据进行处理,这次我就遇到了一种情况,当后端返回如下格式的数据,我们要对其进行分组处理。如果我没没有很好的处理方法的话,我相信这是非常消耗时间的,如果我们有所谓的“巧方法”,那么这些问题就不会再难到我们。原创 2023-06-11 10:02:46 · 2271 阅读 · 8 评论 -
JS 怎么理解ES6新增Set、Map两种数据结构?
Set是一种叫做集合的数据结构,Map是一种叫做字典的数据结构什么是集合?什么又是字典?集合是由一堆无序的、相关联的,且不重复的内存结构【数学中称为元素】组成的组合字典是一些元素的集合。每个元素有一个称作key 的域,不同元素的key 各不相同区别?共同点:集合、字典都可以存储不重复的值不同点:集合是以[值,值]的形式存储元素,字典是以[键,值]的形式存储下面对这两种数据结构进行详解用于存储任何类型的唯一值,无论是基本类型还是对象引用。原创 2023-06-09 20:33:44 · 3022 阅读 · 8 评论 -
CSS中有哪些隐藏页面元素的方法?
在我们进行项目开发阶段,肯定会遇到很多需要隐藏元素的需求,并且每次遇到的需求都限制了我们需要特定的方法去隐藏元素。如消消乐游戏中,当我们消除成功后,我们就不能使用display:none去隐藏元素。这样会导致后面的元素重新计算元素的位置,使位置发生错乱,这时我们就应该使用 visibility:hidden 来实现该效果。原创 2023-06-03 17:56:54 · 2974 阅读 · 9 评论 -
JS 原生实现Tab栏的切换
原生实现tab栏的简易切换原创 2023-05-26 15:57:06 · 1721 阅读 · 2 评论 -
JS严格模式详解
严格模式是在 ECMAScript5(ES5)中引入的,在严格模式下,JavaScript 对语法的要求会更加严格,一些在正常模式下能够运行的代码,在严格模式下将不能运行。原创 2023-05-23 09:22:37 · 1098 阅读 · 2 评论 -
JS 清除定时器timer的两种方法
只是将定时器关闭,这里的clearTimeout只是将定时器关闭,然后下面会重新开启定时器,但timer变量本身还存在,也就是当判断 if(timer) 时为真。timer会被系统的垃圾回收机制回收, 无法再重新启动定时器,就是当判断 if(timer) 为假。所以当我们清除定时器时,可以先判断是否需要通过判断 if(timer) 来决定用哪个方法清除定时器。代码示例,防抖函数的应用。代码示例:节流函数的应用。原创 2023-05-25 18:07:59 · 5287 阅读 · 3 评论 -
JS 节流函数的实现
限制一个函数在一定时间内只能执行一次我自己的理解: 节流函数就是 在规定时间内 不管触发几次该事件,都只执行第一次,第一次触发事件等待delay后,事件执行。timer置为null,再次循环。原创 2023-05-25 17:26:52 · 4537 阅读 · 4 评论 -
JS 手写实现call,apply方法
大概思路就是将 你要调用的方法 添加为对象里面的属性方法,这样就改变了方法里面的htis指向obj,然后调用该对象里面的方法,调用完成后,再将对象里面的此方法删除delete,将调用的结果返回。原创 2023-05-23 14:46:07 · 1655 阅读 · 1 评论