JavaScript
文章平均质量分 65
主要关于js相关知识点
了旧
这个作者很懒,什么都没留下…
展开
-
基于video+flv.js+react-player插件的视频自定义控件 用户选择播放开始时间和结束时间
react-player+flv.js+video原创 2022-08-05 21:32:23 · 1624 阅读 · 7 评论 -
二叉树的层序遍历 II
leetcode107原创 2022-08-01 10:15:44 · 198 阅读 · 0 评论 -
JavaScript中常见数组函数map、filter、find、sort的解析
JavaScript中常见数组函数map、filter、find、sort的解析前言map函数特点filter函数特点forEach函数特点sort函数特点some函数特点every函数特点find函数特点前言说起JavaScript中常见的数组函数,如果突然让你说出五个,你可能一下子还想不出,不过,当你冷静以下,你就会列出包括forEach、map、filter、find、sort、some在内的众多函数。对于这些常见的数组函数,面试中主要的考察的有两点,一是手写实现这些函数,如果你还处于懵懂状态,请原创 2022-05-16 20:50:47 · 157 阅读 · 0 评论 -
JavaScript的四则运算以及== 与 ===比较
JavaScript的四则运算以及== 与 ===比较四则运算加法其他运算符== 与 ===比较两者使用的场景类型转换规则例题四则运算加法加法运算不同于其他运算符,它有以下几个特点:运算中其中一方为字符串,那么就会把另一方也转换为字符串如果一方不是数字或字符串,那么会把另一方转换为字符串或数字、下面是几个例题1 + '1' = '11'true + true = 24 + [1, 2, 3] = "41, 2, 3"'a' + + 'b = "aNaN"对于第一个题:触发上面的原创 2022-05-14 21:55:19 · 250 阅读 · 0 评论 -
内存泄漏场景及解决方案
内存泄漏场景及解决方案javascript中的内存泄漏场景及解决方案场景一:意外的全局变量场景二:闭包场景三:未被清空的定时器场景四:未被销毁的事件监听场景五:未被清除的DOM引用vue中的内存泄漏场景及解决方案声明的全局变量在切换页面的时候没有清空造成监听在 window/body 等事件没有解绑绑在 EventBus 的事件没有解绑javascript中的内存泄漏场景及解决方案场景一:意外的全局变量由于 js 对未声明变量的处理方式是在全局对象上创建该变量的引用。如果在浏览器中,全局对象就是 wi原创 2022-05-13 22:03:30 · 504 阅读 · 0 评论 -
前端面试中常见的原生JS手写实现函数
前端面试中常见的原生JS手写实现函数前言实现call函数apply函数bind函数newinstanceof函数继承实现深拷贝深度比较防抖函数节流函数Promise.all()Promise.race()函数柯里化用setTimeout实现setInterval原生JS实现Ajax上拉加载更多发布订阅模式数组转换为二叉树sleep函数map函数reduce函数filter函数forEach函数find函数some函数every函数includes函数join函数用reduce实现mapconcat函数快速排原创 2022-05-12 20:06:13 · 1217 阅读 · 0 评论 -
原生JS手写实现深拷贝函数——JS手写系列(三)
原生JS手写实现深拷贝函数——JS手写系列(三)前言浅拷贝深拷贝深拷贝实现前言在实现深拷贝函数之前,我们必须先知道什么是深拷贝,什么又是浅拷贝浅拷贝浅拷贝是创建一个新对象obj1,这个对象有着原始对象属性值的一份精确拷贝。如果属性是基本类型,拷贝的就是基本类型的值,如果属性是引用类型,拷贝的就是内存地址。也就是说,浅拷贝基本类型之前互不影响,引用类型其中一个对象改变了地址,就会影响另一个对象obj2深拷贝深拷贝是将一个对象从内存中完整的拷贝一份出来,从堆内存中开辟一个新的区域存放新对象。深拷贝改原创 2022-05-11 19:12:02 · 178 阅读 · 0 评论 -
原生JS手写实现深度比较函数——JS手写系列(二)
原生JS手写实现深度比较函数——JS手写系列(二)前言思路具体实现前言在JavaScript中,对于深度比较,如果是基本数据类型,可以通过===便可完成实现。而对于引用数据类型,就要麻烦许多,由于栈空间中仅保存引用数据类型在堆空间中位置的地址指针(此处涉及到栈空间和堆空间,你是否了解该知识点呢?嘻嘻嘻),所以无法使用===进行比较。此时,便只能设计专门的函数进行引用数据类型的深度比较。思路核心思想:深度比较两个对象,就是要深度比较对象的每一个元素。=> 递归具体实现 function is原创 2022-05-10 22:21:31 · 382 阅读 · 0 评论 -
原生JS手写实现instanceof函数——JS手写系列(一)
原生JS手写实现instanceof函数前言typeof和instanceof的区别原生JS手写实现instanceof前言instanceof函数是JavaScript中一个使用频繁且十分重要的函数,此函数可以判断一个数据是否属于某一数据类型。与此同时,看到这个函数的时候,我们就会立刻想到JavaScript中另一个判断数据类型的函数typeof函数,这也是一个高频常见函数,那么它们两个有什么区别呢?typeof和instanceof的区别这里我们只简单介绍一下它们的区别,不做深究,感兴趣的同学可原创 2022-05-09 20:47:08 · 288 阅读 · 0 评论 -
axios中使用cancel token取消请求的底层逻辑
axios中使用cancel token取消请求的底层逻辑前言使用CancleToken构造函数创建一个cancleToken实例逻辑一,分析CancleToken构造函数的逻辑逻辑二,分析abort()如何与前面的逻辑链进行连接前言在实际开发过程中,开发者经常会遇到重复请求的场景,如果系统不对重复的请求进行处理,则可能会导致系统出现各种问题,所以需要对请求进行取消。Axios 是一个基于 Promise 的 HTTP 客户端,同时支持浏览器和 Node.js 环境。它是一个优秀的 HTTP 客户端,被原创 2022-05-07 18:24:54 · 502 阅读 · 0 评论 -
为什么scrip标签最好放在底部,link标签最好放在头部
为什么scrip标签最好放在底部,link标签最好放在头部前言@import和link标签有什么区别CSS文件和JS脚本对DOM解析的影响结论补充:async和defer有什么区别前言作为一个前端开发者,你可能听到过这么一个问题为什么script标签最好放在底部,link标签最好放在底部。今天呢,我们就从加载CSS文件和JS脚本分别对页面解析的影响来解释这个问题。@import和link标签有什么区别在解释文章开头这个问题之前,我们先来了解一下@import和link标签有什么区别。@impor原创 2022-05-06 21:22:29 · 527 阅读 · 0 评论 -
浏览器中的事件循环和Node.js中事件循环有什么区别(经典面试题)
浏览器中的事件循环和Node.js中事件循环有什么区别1. 前言1.1 js线程的作用1.1.1 GUI渲染线程:1.1.2 JS引擎线程1.1.3 定时器线程1.1.4 事件触发线程1.1.5 异步HTTP请求线程2. 正文:浏览器事件循环和node事件循环的区别2.1 node事件循环2.2 浏览器事件循环2.3 两者的区别3. 来个例题检验一下3.1 浏览器器端运行结果3.2 node端运行结果3.3 区别1. 前言说到事件循环,就不得不说JS线程。所以在理解事件循环之前先介绍一下js线程。众所周原创 2022-05-03 21:27:33 · 1848 阅读 · 1 评论