随笔分类 - JavaScript
摘要:1.选择数组第一个基准数。 2.遍历数组其他元素与基准数比较大小,比基准数小的放到左边,大的放到右边。 3.第一轮比较之后得到左边的数组和右边的数组,递归调用函数,再次比较左右两边数组的大小,直到数组的长度为1。 function quickSort(arr) { if (arr.length <=
阅读全文
摘要:// 1.使用for循环遍历 var arr1 = [] for (var index = 0; index < 100; index++) { arr1.push(index) } // 2.使用数组扩展运算符和keys() const arr2 = [...Array(100).keys()]
阅读全文
摘要:一、暂时性死区 暂时性死区也叫临时性死区(Temporal Dead Zone),TDZ。let、const声明的变量不会进行变量的提升,如果在声明前访问就会报错: console.log(userName ) //报错ReferenceError: userName is not defined
阅读全文
摘要:js里的继承方法有很多,比如:使用原型链的组合继承、es6的Class、寄生继承以及使用call、apply、bind继承。再说继承之前,我们先简单了解下它们的区别。 一、区别: 同:三者都是改变函数执行时的上下文,说人话就是改变this的指向。 异: 1、bind()返回的其实是一个函数,并不会立
阅读全文
摘要:一般处理Promise.reject()都是catch住错误,然后进行错误处理,一般都是再次发起请求或者直接打印。 直接打印的情况用console.error()就可以了,而再次发起请求呢? 最好是先把reject里的参数变成Promise对象实例再发起请求,因为一般出现错误情况后,返回的不一定Pr
阅读全文
摘要:要理解时事件循环得先明白单线程和任务队列。 单线程: js是个单线程语言,也就是说同一时间只能执行一个代码块。 任务队列: 每当一段代码准备执行的时候,它就会被放到任务队列里。 事件循环: 事件循环其实就是一段代码,它会管理并执行任务队列里的代码块们,执行的顺序是从第一个执行到最后一个,遵循先进先出
阅读全文
摘要:首先要讲一下js的数据类型分为: 1、基本数据类型(原始数据类型):String、Boolean、Number、null、undefined、Symbol 2、引用数据类型:Object、Array、Function 先从基础的比较: '' == false; // true 因为''空字符串是基本
阅读全文
摘要:看了这个例子估计你就会明白了 var a = 'global'; function test() { if (!a) { var a = 'part'; } console.log(a); } test() 结果是part, 因为这里有变量声明提前。 function test() { var a;
阅读全文
摘要:其实节流防抖我们一直都有接触,但是可能就是不知道它原来叫这个。 一、防抖 定义:在一段时间内触发了n次,但只有一次生效,一般都是开头那次或者结尾的。 应用场景:比如scroll事件或则resize,但是频繁地监听是浪费性能的,所以最好就是做个定时器,如果重复监听到这个事件就清除定时器,取消前面的事件
阅读全文
摘要:在理解之前要先明白几个概念: 执行环境:定义了变量和函数有权访问的数据。 变量对象:执行环境里定义所有的变量和函数都在这个对象里,代码无法访问,但是解析器可以访问。 要弄懂一个东西肯定要先明白它有什么用?它什么时候会出现?它是什么? 作用域链用途:保证了执行环境对变量和函数的有序访问。 作用域链生成
阅读全文
摘要:Array.of是es6新增的API,其实粗暴点理解,光看of,就可以猜到它是数组的意思,所以猜测可以用来把字符串转换成数组。 像这样的table,有批量删除和单个删除的功能,,但是又不想写两个方法,不然接口也要写两个,太麻烦了。 所以就把获取到的id,遍历成数组,后端接口在遍历删除。 但是获取到的
阅读全文
摘要:最近的业务涉及到了axios的拦截器,要在request.js里面要根据状态码来跳转页面,这时候我就面对了几种跳转选择: 1、使用location.href='/url'来跳转,简单方便,但是刷新了页面。 2、使用history.pushState('/url'),无刷新页面,静态跳转。 3、引进r
阅读全文
摘要:将10位时间戳转化为时间: 上代码图片: 使用了vue过滤器: 获取现在时间的10位时间戳: 13位就不写啦,网上随便一查就是13位的。
阅读全文

浙公网安备 33010602011771号