JavaScript专栏
文章平均质量分 72
JavaScript遇到的问题和一些技巧
接着奏乐接着舞。
冥鸿天际尘事分付一轻芒
展开
-
富文本编辑器的下载安装使用
在众多的富文本编辑器中,因其易用性、灵活性以及对Vue框架友好的特性而受到开发者的青睐。它基于Quill编辑器,Quill是一款现代的WYSIWYG(所见即所得)编辑器,具有跨浏览器兼容性和可扩展性。而富文本编辑器的数据格式一般是HTML:控制台打印类似以下:安装。可以通过npm或yarn完成:在项目中配置安装完成后,你需要在Vue项目中配置。有两种方式可以做到这一点:全局配置或局部配置。在或文件中,引入并注册作为全局组件:局部配置:在单个Vue组件中,你可以如下配置:创建一个基本的富文本原创 2024-04-09 18:02:23 · 580 阅读 · 6 评论 -
如何实现无感刷新(附前后端实现)?
登录时,我们验证用户凭证,并且如果认证成功,我们就生成Access Token和Refresh Token,然后将Refresh Token保存到数据库。在无感刷新流程中,我们验证提供的Refresh Token是否存在于数据库中,并且是否有效,然后发放新的Access Token。如果Refresh Token仍然有效,认证服务器则发放一个新的Access Token给客户端,并且可能会同时发放一个新的Refresh Token。在前端实现中,我们需要确保存储Token的方法是安全的。原创 2024-04-08 16:58:14 · 1634 阅读 · 4 评论 -
JS 中 reduce()方法及使用详解
讲述reduce方法的语法使用以及15种使用场景附带代码示例。原创 2024-03-26 18:04:13 · 3366 阅读 · 2 评论 -
vue为什么要用data(函数)包裹属性?
1.确保数据的独立性2.启动响应式系统3.组件的可维护性4.更好的支持TypeScript原创 2024-03-20 12:41:13 · 1387 阅读 · 9 评论 -
Vue2如何监听数组的变化?(附相关面试题)
众所周知,vue2的响应式无法监听数组,那么它是怎么实现数组响应式的?为什么不能直接修改数组的length?为什么不能通过arr[0] = 123的方式修改数组?原创 2024-03-20 12:23:23 · 3611 阅读 · 2 评论 -
async/await与Promise的区别?
Promise: 是一种代表了某个异步操作最终完成(或失败)及其结果值的对象。async/await: 是基于Promise的语法糖,它允许我们以更同步的方式编写异步代码。原创 2024-01-02 22:33:41 · 807 阅读 · 3 评论 -
javascript中的new原理及实现
本文介绍new的功能,用法,补充介绍了不加new也同样创建对象的方式,分析了new的原理,最后模拟了new的实现。学习本文内容需要你了解js中对象,原型链,call,bind,arguments的用法。原创 2023-11-06 23:17:56 · 2373 阅读 · 17 评论 -
js如何实现上传文件时将文件读取出来
注意:由于input的默认样式很丑,我们平时开发时,一般将input按钮隐藏,然后写一个自己的按钮,当点击我们设置的按钮时,再给默认的input一个点击即可。第二步,给input设置change事件,在响应的回调函数中通过target.file获得上传的文件。第一步,使用input标签,将type设置为type="file"通过实例化FileReader(),可以获得上传文件的具体内容。实现此功能的核心api是FileReader()可以直接打开,进行测试。原创 2023-04-23 16:29:28 · 4385 阅读 · 8 评论 -
【2023年13万字】JavaScript面试题看这一篇就够了
2023年前端javascript最全面试题,300道最新js面试题,13万字长文,看着一篇就够了!原创 2023-03-30 20:53:58 · 1458 阅读 · 3 评论 -
鼠标拖拽菜单栏控制宽度大小及flex实现经典左右两栏布局
1. 使用定位在左侧菜单栏右侧写一个不可见div,鼠标经过鼠标指针样式变换2. 监听事件:鼠标按下、抬起、移动,需要一个变量,来记录当前是按下还是抬起,初始为false,按下时为true,抬起时为false,如果是true的情况可以移动。3.记录鼠标偏移值e.screenX,借此控制菜单栏宽度,使用min、maxwidth控制最小或最大宽度4.性能优化,采用节流或防抖原创 2022-12-28 16:53:44 · 3019 阅读 · 6 评论 -
js数组去重的10种方法
利用 ES6的set 方法和解构赋值——最常用、最简单。这个方法是es6之后加入的,是最简单的一种方法。Set是一种结构,是一种不重复值的集合,如:{1,2,3}。它的特性之一就是里面的每一个值都是不重复的;[...new Set(arr)]意思是将Set结构解构赋值为数组。原创 2022-11-30 11:29:23 · 4585 阅读 · 4 评论 -
应该如何理解闭包
本文介绍了闭包的定义,作用,及常见的理解中的误区,并没有引入其他的专业词汇。原创 2022-11-01 20:00:00 · 1552 阅读 · 3 评论 -
js执行机制(同步,异步)
本篇文章尽量不涉及专业名词,尽可能用通俗易懂的词语,解释JavaScript的运行机制,及阐述同步任务和异步任务。注:异步任务又细分为微任务和宏任务。原创 2021-06-15 00:48:31 · 1704 阅读 · 8 评论 -
JavaScript中字符串的API使用总结
总结了对字符串操作的方法,如替换、截取、转数组、转大小写、查找、拆分……原创 2021-07-06 13:35:26 · 1093 阅读 · 3 评论 -
关于js数组方法的题目整理 6.24更新至题目5
6.23更新题目4 | 6.24更新至题目5利用JavaScriptAPI方法解决一些问题。PS:不定时更新。原创 2021-06-18 14:20:21 · 1548 阅读 · 2 评论 -
JavaScript数组API总结
本文 首先对数组常用方法进行分类,具体使用方法会在分类后整理。原创 2021-06-10 19:55:41 · 885 阅读 · 1 评论 -
js判断一个对象是否在一个对象数组中
lodash是前端常用的JS方法库,就是将很多方法封装起来,方便使用。也就是说,key和value都得一样才行,而且不能多不能少。就是他们的属性和值都得一样,且他们的长度也是一样的。原创 2022-08-03 22:36:24 · 4856 阅读 · 2 评论 -
根据日期重新排列数据js
1.一眼看去,是要按照日期进行数据划分的,那么第一件事就是数组去重,保留不重样的时期。2.接下来就是组装数据了,如果日期相等的话就添加进list。将数据按照日期将原数组合并。原创 2022-07-16 23:02:46 · 2654 阅读 · 1 评论 -
浅谈垃圾回收机制
目录前言:1.标记清除(主要)2.引用计数(次要)3.一些注意的点原创 2022-07-13 08:45:00 · 2437 阅读 · 1 评论 -
ES6字符串、对象、数组不常见但实用的API方法
作用:例子: 作用:includes():返回布尔值,表示是否找到了参数字符串;支持第二个参数,表示开始搜索的位置例子:1.3 repeat()作用:返回一个新字符串,表示将原字符串重复n次例子:1.4 padStart() 、padEnd()作用:指定字符串长度,填充补足长度例子:2.数组2.1 Array.from()作用:例子:2.2 Array.of()作用:将一组值转换为数组。主要目的是弥补数组构造函数Array()的不足例子:原创 2022-07-11 14:42:49 · 2686 阅读 · 3 评论 -
js如何实现数组随机排序【附洗牌算法心得】
本文主要介绍使用sort方法进行随机排序和利用洗牌算法排序,文末附上推导过程。原创 2022-05-19 23:41:22 · 4255 阅读 · 1 评论 -
js如何精确判断是否是数组?
方法一:使用 toString 方法function isArray(arg) { return Object.prototype.toString.call(arg) === '[object Array]'}let arr = [1,2,3]isArray(arr) // true方法二:使用 ES6 新增的 Array.isArray 方法let arr = [1,2,3]Array.isArray(arr) // true...原创 2022-05-05 23:22:08 · 2844 阅读 · 2 评论 -
如何判断两个对象/数组相等
目录0.明确两点1.判断两个对象相等(1)把两个对象转译成字符串进行对比(2)Object.keys()(3)ES62.判断数组是否相等0.明确两点1.当两个引用指向同一个对象时,对象才是相等的;var obj1 = {a:1}var obj2 = obj12.obj1 == obj2 结果为falsevar obj1 = {a:1}var obj2 = {a:1}1.判断两个对象相等(1)把两个对象转译成字符串进行对比...原创 2021-10-17 00:24:17 · 6959 阅读 · 2 评论 -
this指向的进阶总结
本篇文章在基础知识之上,总结了this的进阶知识,参考书籍《前端开发核心知识进阶》原创 2021-09-12 21:14:53 · 1266 阅读 · 2 评论 -
ES6中对象冻结Object.freeze()的使用及注意事项
主要介绍了Object.freeze()冻结对象的使用方法和注意事项及实际使用场景。原创 2021-08-31 13:52:48 · 3539 阅读 · 1 评论 -
JavaScript本地存储详解
介绍localstorage、sessionstorage、cookie的用法及区别原创 2021-08-20 00:16:37 · 2537 阅读 · 2 评论 -
js正则表达式核心知识整理【万字警告】
本篇文章的目标有两个:第一个,能够看懂大部分正则表达式的含义第二个,能够手写正则表达式。全文 10000字原创 2021-08-19 02:07:34 · 1390 阅读 · 2 评论 -
笔试题:this指向和JS实现对货币数字格式化函数
注1:题目来源为2021年北京互联网公司实际面试题注2:以下所有代码经过测试,可直接复制去运行原创 2021-08-09 17:37:58 · 1141 阅读 · 2 评论 -
理解浏览器渲染机制
浏览器的渲染过程(面试向)+网页开发渲染线程和脚本线程是互斥的这句话的理解原创 2021-08-09 01:29:22 · 1433 阅读 · 1 评论 -
面试向:原型、原型链、构造函数、继承、实例对象
介绍了原型、原型链、构造函数、继承、new的实例化过程原创 2021-08-06 21:40:17 · 1206 阅读 · 2 评论 -
面试题:闭包、作用域链、内存泄漏
将从是什么、作用、实际工作的应用三个维度去诠释闭包、作用域链、内存泄漏原创 2021-08-06 00:47:03 · 1221 阅读 · 2 评论 -
js中的解构赋值使用总结
本文前半部分介绍解构赋值在实际工作中的各种使用方法,后半部分介绍在使用过程中容易产生的疑问和解答。如果你对此很陌生,可先直接浏览本文最后部分,那里详细的介绍了什么是解构赋值,和最基础的用法。原创 2021-08-04 00:56:19 · 2476 阅读 · 2 评论 -
Promise的用法和相关面试题整理
本篇文章的目的有三个:第一,会用Promise第二,能看懂别人写的Promise代码第三,能够回答面试中大多数的promise相关问题原创 2021-08-02 21:39:42 · 1705 阅读 · 3 评论 -
js一维数组转二维数组
使用场景举例:1.接口返回一个数组对象,展示时每行固定显示n个,则可将返回的数组转成二维数组[[...n], [...n]...]的形式循环展示。2.轮播图需要每次展示n个,就需要把数据分成若干份,每份n个方法一:使用slice()方法截取数据const arr = [1, 2, 3, 4, 5, 6, 7, 8]const len = arr.length //len为数组的长度const n = 4 // 假设每行显示4个const Num = len % 4 ===原创 2021-07-26 00:24:14 · 5536 阅读 · 3 评论 -
理解js中的面向对象
面向对象(oop)是一种思想,和面向过程不同。典型的面向对象编程语言有很多,如pathon、JavaScript等,在js中一切皆对象,特点是封装继承多态。原创 2021-07-15 21:09:32 · 3852 阅读 · 10 评论 -
有趣的JavaScript(2)
主要介绍一些Js中的一些方法,他们在平时中出现的次数可能不多,但是功能都很强,属于偏冷门但是用起来也是真的爽。ps:这将是一个系列。原创 2021-06-27 20:34:13 · 940 阅读 · 1 评论 -
Javascript中递归的使用方法
本文主要从递归的使用方法入手,从而理解递归思想。斐波那契数列、深拷贝、数组转树结构。原创 2021-06-25 00:28:57 · 1695 阅读 · 0 评论 -
有趣的JavaScript(1)
主要介绍一些Js中的一些方法,他们在平时中出现的次数可能不多,但是功能都很强,属于偏冷门但是用起来也是真的爽。ps:这将是一个系列。原创 2021-06-24 01:43:12 · 935 阅读 · 2 评论 -
JavaScript-防抖和节流
本文介绍了防抖和节流的基本原理,实现方式,他是高阶函数的一个应用。原创 2021-06-24 00:32:58 · 980 阅读 · 0 评论