![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
js
文章平均质量分 51
nancyyue_199
心向阳光!
展开
-
webpack3升级到webpack4问题汇总
说明:项目是使用creact-react-app脚手架起的,记录一下升级过程中碰到问题问题1Plugin could not be registered at 'html-webpack-plugin-before-html-processing'.Hook was not found.解决方案:升级webpack webpack-cli html-webpack-pluginyarn add webpack@4.16.5yarn add webpack-cli@3.1.0yarn ad原创 2020-06-29 14:18:10 · 651 阅读 · 0 评论 -
数组扁平化及underscore中的实现方式
数组扁平化:指将一个多层数组嵌套扁平化为一个数组例如:[1,[2,[3]]] => [1,2,3]1.递归let arr = [1,[2,[3,[4,5]]]]function flatten(arr){ let result = [] for(var i = 0;i < arr.length; i++){ if(Array.isArray(arr[i])){...原创 2020-01-06 11:20:49 · 267 阅读 · 0 评论 -
javaScript中的深拷贝和浅拷贝(总结)
实现深拷贝的方法:1. JSON.parse(JSON.stringify(obj))2. 利用递归对每一层都重新创建对象并赋值从而实现深拷贝 //深拷贝 function deepClone(source) { // let targetObj = source.constructor === Array ? [] : {} ...原创 2019-12-06 12:01:54 · 220 阅读 · 0 评论 -
模拟实现javascript中的call(),apply()
call的作用:call() 方法在使用一个指定的 this 值和若干个指定的参数值的前提下调用某个函数或方法。例如:var obj={ value:1}function fun(){ console.log(this.value)}fun.call(obj) //1call()做了两件事:1.改变了fun的this指向,将this指向了obj2.执行了funvar ...原创 2019-12-03 08:54:08 · 183 阅读 · 0 评论 -
项目中常用工具函数总结
项目中常用工具函数总结:1.判断是不是数组Array.prototype.isPrototypeOf([]) //true2.判断是否为空值function isEmpty(val) { return val === undefined || val === null || val.length === 0 || val === " "}3.判断是否为数组functi...原创 2019-11-01 12:52:36 · 150 阅读 · 0 评论 -
javascript中的闭包及常用场景
1.闭包的概念《高程三》中的解释:闭包是指有权访问另一个函数作用域中的变量的函数。创建闭包的常见方式就是在一个函数内部创建另一个函数。原创 2019-07-29 15:12:47 · 88 阅读 · 0 评论 -
js中的按位运算:与&、或|、异或^、按位取反、左移、右移
与(&)运算:eg: x&y先将x、y转为二进制数,然后对x 、y的每一位数值进行比较,只有数值都为1时才取1,否则为0.14&15原创 2019-04-22 17:04:11 · 3625 阅读 · 0 评论 -
js函数节流和防抖
常见场景:1.如果实现了dom拖拽功能,但是在绑定拖拽事件的时候发现每当元素稍微移动一点便触发了大量的回调函数,导致浏览器直接卡死,这个时候怎么办?2.如果给一个按钮绑定了表单提交的post事件,但是用户有些时候在网络情况极差的情况下多次点击按钮造成表单重复提交,如何防止多次提交的发生?为什么要使用函数防抖和函数节流?函数节流(throttle)与 函数防抖(debounce)都是为了限制...原创 2019-04-02 11:42:04 · 184 阅读 · 0 评论 -
javaScript数据结构——集合
集合是由一组无序且唯一(即不能重复)的项组成的。集合间的操作:并集、交集、差集<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-s...原创 2019-04-07 11:52:01 · 450 阅读 · 0 评论 -
解决异步的方式
js是单线程的,一次只能完成一个任务,如果有多个任务,就需要排队,如果有一个任务耗时很长,那么后边任务就需要等待。为了解决这个问题,js将任务的执行分成两种模式:同步和异步同步:会阻塞后面程序的运行console.log(100)alert(200) //只有点击了确认按钮,后面的程序才会接着执行console.log(300);异步:不会阻塞后面程序的运行console.log...原创 2019-04-06 14:37:40 · 3355 阅读 · 0 评论 -
javaScript数据结构——字典
字典:字典是一些节点的集合,每个节点包含一个key和value。字典就是一种以【键-值】对儿的形式存储数据的数据结构。javaScript中的Object类就是以字典的形式设计的。字典的实现:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <...原创 2019-04-05 13:48:14 · 378 阅读 · 0 评论 -
javaScript数据结构——链表
链表:链表存储有序的元素集合,但不同于数组,链表中的元素在内存中并不是连续存放的,每个元素由一个存储元素本身的节点和一个指向下一个元素的引用(也称为指针或链接)组成。相对于传统的数组,链表的一个好处在于,添加和移除元素的时候不需要移动其他元素。然而链表需要使用指针,因此实现链表时需要额外注意。数组的另一个细节是可以访问任意位置的任何元素,而要想访问链表中的一个元素,需要从起点(表头)开始迭代链...原创 2019-04-05 13:17:22 · 126 阅读 · 0 评论 -
javaScript数据结构——队列
队列:队列是遵循先进先出(FIFO,first in first out)原则的有序集合,队列在尾部添加元素,在顶部移除元素,最新添加的元素必须排在队列的尾部。比如:排队,打印机的打印队列队列的实现:<!DOCTYPE html><html><head> <meta charset="utf-8" /> <met...原创 2019-04-05 12:20:40 · 95 阅读 · 0 评论 -
javaScript数据结构——栈
数组可以在任意位置上删除或添加元素,然而有时我们需要一种在添加和删除元素时有更多控制的数据结构,有两种数据结构类似于数组,但在添加和删除元素时更为可控,他们就是栈和队列。栈:栈是一种遵从后进先出原则的有序集合。新添加或待删除的元素都保存在栈的同一端,称作栈顶,另一端称作栈底。<!DOCTYPE html><html><head> <m...原创 2019-04-05 12:05:32 · 199 阅读 · 1 评论