vue的provide/inject实现响应式数据

2021-09-16
阅读 1 分钟
8.4k
provide/inject为我们提供了一种组件间传值的方式,但是默认情况下,provide/inject 绑定并不是响应式的。用官方的话来说就是:

webpack打包原理,手写一个自己的bundler

2021-09-15
阅读 9 分钟
1.9k
webpack这类的打包工具,能帮助我们把用esModule组织起来的代码打包到一个js文件中,在浏览器中运行。实现前端项目的模块化,同时优化请求数量,文件大小等。
封面图

从零配置Vue开发webpack环境踩到的坑

2021-09-15
阅读 3 分钟
1.8k
查看vue-loader的文档,可以在处理资源路径这一章看到,vue-loader会将所有遇到的资源 URL 转换为 webpack 模块请求。例如,下面的模板代码片段:

JS实现一个限流器

2021-07-09
阅读 1 分钟
3.1k
在{1}处定义了一个任务队列。执行add方法,如果此时运行的任务超过了最大限制,就会在{2}处await一个promise,并且把promise的resolve放进任务队列中,这样这个方法就会阻塞在这里,等待promise的完成。而只有在之前的任务完成之后,会去taskList中拿resolve去执行({3}处)。执行完resolve,刚才await的promise才会继续...

VUE展示无限层级树形数据结构

2021-06-29
阅读 4 分钟
11.7k
在做项目中,会遇到一些树形的数据结构,常用在左侧菜单导航,或者评论引用等地方,这种数据结构有个特点是不知道它会嵌套多少层,所以用template去展示这样的数据时就有点棘手,这篇文章梳理两种展示这种数据结构的方法。

观察者模式(JS描述)

2021-06-11
阅读 4 分钟
1.7k
比如,上课,老师提了一个问题,所有会这道问题的学生都解答这个问题。其中老师就是主对象,老师提问就是状态改变,学生是依赖于老师的对象,学生回答问题就是针对老师提问这个状态所做的改变。

前端JS获取服务端日期

2021-06-07
阅读 1 分钟
1.4k
有时候想获取一下当前时间,如果仅仅用JS的Date对象拿当前时间,相当于取客户端的时间。但客户端的时间并不一定可靠,所以希望能拿服务端的时间,但是如果后台没提供获取时间的接口,那么其实可以用下面的方法去获取。

微信内部浏览器唤起小程序

2021-06-02
阅读 2 分钟
3.6k
如需求在微信内希望能够直接跳转到小程序里,比如从公众号页面跳转到小程序中去完成什么操作。这篇文章简单介绍一下微信给的一个跳转小程序的开放标签,从而实现微信内H5跳转小程序的功能。

JS的位运算符“与”(&)及应用

2021-05-31
阅读 2 分钟
1.8k
我们就可以利用 & 的运算特性,来判断一个数是否为偶数。我们知道,如果一个正整数是偶数,那么它的二级制表示的最低为一定不能是1,所以,可以与1进行&运算,如果为0,则说明最低为为0,就是偶数。

快速排序(JS实现)

2021-05-18
阅读 3 分钟
1.1k
快速排序的基本思想是选择数组中的一个元素作为关键字,通过一趟排序,把待排序的数组分成两个部分,其中左边的部分比所有关键字小,右边的部分比所有关键字大。然后再分别对左右两边的数据作此重复操作,直到所有元素都有序,就得到了一个完全有序的数组。
封面图

归并排序(JS实现)

2021-05-18
阅读 2 分钟
1.5k
归并排序(Merge Sort)是建立在归并操作上的一种有效,稳定的排序算法,该算法是采用分治法(Divide and Conquer)的一个非常典型的应用。将已有序的子序列合并,得到完全有序的序列;即先使每个子序列有序,再使子序列段间有序。若将两个有序表合并成一个有序表,称为二路归并。

简单排序算法(冒泡排序、插入排序、选择排序)JS实现

2021-05-17
阅读 3 分钟
1.2k
思路:依次比较相邻的两个元素,值大的就换到右边,一趟循环下来最右边就是最大的元素了。然后再从头开始,找第二大的元素,这样一直走下来,整个数组就有序了。

搞懂JS的事件循环(Event Loop)和宏任务/微任务

2021-05-17
阅读 6 分钟
5.4k
在之前的一篇文章中简单理了下JS的运行机制,顺着这条线深入就又遇到了几个概念,什么是事件循环,什么又是宏任务、微任务呢,今天用这篇文章梳理一下。以下是我自己的理解,如有错误,还望不吝赐教。

空值合并操作符(??)及可选链式操作符(?.)

2021-04-20
阅读 1 分钟
1.3k
也就是说,他在进行逻辑判断的时候其实跟 || 很像,不同的是 || 对于任何假值(0, '', NaN, null, undefined)都不会被返回,而这个 ?? 只会在遇到 null 或者 undefined 时才不返回。

同步代码中dom操作不生效的问题

2021-04-20
阅读 2 分钟
2.5k
看代码目的执行效果应该是页面上显示loading,2s后变成done,但大家可以试一下,执行出来结果应该是页面2s之后直接变成done,并没有出来loading。

JS的事件绑定及相关兼容性问题

2017-10-17
阅读 3 分钟
2.5k
考察到的点主要在addEventListener(),attachEvent(),事件对象等。常见的考察方式是问你如何在一个列表中,点击某个li,就弹出被点击li的索引,或者让你实现类似JQuery的on和off这两个方法。

JS函数防抖和节流

2017-09-25
阅读 3 分钟
2.6k
函数防抖的指导思想是:某些代码可以在没有间断的情况下重复执行。第一次调用函数,创建一个定时器,在指定的时间间隔后执行代码。当第二次调用该函数的时候,它会清除前一次的定时器并设置另一个。如果前一个定时器已经执行过了,这个操作没有意义。然而,如果前一个定时器尚未执行,其实就是替换为一个新的定时器,目...

JS的类型检测

2017-09-13
阅读 2 分钟
2.2k
看到这个题目,可能首先就会typeof,typeof是最基本的数据类型判断方式,在不考虑es6的情况下,typeof可能的返回值有下面这些:

JS的面向对象

2017-09-07
阅读 6 分钟
10.5k
前一阵面试,过程中发现问到一些很基础的问题时候,自己并不能很流畅的回答出来。或者遇到一些基础知识的应用,由于对这些点理解的不是很深入,拿着笔居然什么都写不出来,于是有了回顾一下这些基础知识的想法。