• promise及异步编程async await

    前置说明 ECMAScript 6 新增了正式的 Promise(期约)引用类型,支持优雅地定义和组织异步逻辑。接下来几个版本增加了使用 async 和 await 关键字定义异步函数的机制 JavaScript 是单线程事件循环模型。异步行为是为了优化因计算量大而时间长的操作,只要你不想为等待某个 ...
    JavaScript Promise   2023-05-14 16:35
  • 实现和CSS一样的easing动画?直接看Mozilla、Chromium源码!

    前言 在上一篇丝滑的贝塞尔曲线:从数学原理到应用介绍贝塞尔曲线实现动画时给自己留了一个坑,实现的动画效果和CSS的transition-timing-function: cubic-bezier差别较大,如下图所示,红色为Linear、绿色为CSS的cubic-beizer、蓝色为自己实现的cbez ...
    CSS JS 前端技术 算法 Javascript   2023-04-06 14:51
  • 一文搞懂原型和原型链

    在了解原型和原型链之前首先得明确它俩是什么东西: 原型:prototype 又称显示原型 1、原型是一个普通对象 2、只有构造函数才具备该属性 3、公有属性可操作 隐式原型:__proto__ 1、只有对象(普通对象、函数对象)具备 2、私有的对象属性,不可操作 有了上面的概念之后,我们再来探讨一下 ...
    JavaScript   2023-03-31 22:57
  • JavaScript构造函数,面向对象编程

    前言大家应该都听说过面向对象编程吧,在java和c语言中,是有”类(class)”的概念的,所谓“类”就是对象的模板,对象就是“类”的实例。而在JavaScript语言,他的对象体系是基于构造函数(constructor)和原型链(prototype)的。你可能会问,不对啊,es6不是有个class么?实际上es6的class只是模仿java起了一个面向对象的习惯性的名字,让对象原型的...
  • 热点面试题:Vue2、3 生命周期及作用?

    Vue2 的生命周期? 分类: Vue 生命周期分为 8 个阶段:创建前后,载入前后,更新前后,销毁前后 生命周期 描述 beforeCreate 组件实例创建前 created 组件实例创建后 beforeMount 组件挂载前 mounted 组件挂载到实例上后 beforeUpdate 组件数据发生变化,更新前 updated 组件数据更新后 beforeDestroy 组件实例销毁前...
  • 排序算法 Quick Sort

    前言 排序算法 Quick Sort 原理 快速排序在每一轮挑选一个基准元素,并让其他比基准元素大的元素移到数列的一遍,比基准元素小的元素移动数列的另一边,从而把数列拆解成两部分。 时间复杂度为:O(n log n) 每一轮的比较和交换,需要把数组的全部元素都遍历一遍,时间复杂度为 O(n),这样的遍历需要多少轮呢?假如元素个数为 n,那么平均...
  • JS 如何实现“上次操作未完成之前,禁止新的操作”的逻辑

    相信很多人都遇到过类似的场景: 某一个按钮是用来发送请求的,并且需要一段时间来处理。但是用户往往会在处理期间有意或无意地点击多次,因此我们希望在上一次发出的请求处理完毕之前,不再发出新的请求。 1.初步解决方案:特事特办“特事特办”的意思,就是每次遇到这样的场景,都特意写一段逻辑来处理: document.addEventListener('click', ((...
    javascript 前端   2022-10-23 00:14
  • Promise—关于catch(你真的了解catch的执行顺序吗)

    一、问题 今天突然被同事问到一个问题,以下代码怎么输出: Promise<span class="token punctuation">.</span><span class="token function">all</span><span class="token punctuation">(</span><span class="token punctuation">[</span> <span class="token keyword">new</span> <span class="t
    JavaScript   2022.10.20 14:12
  • Vue—关于响应式(四、深入学习Vue响应式源码)

    前面三个小节我们根据下图分析了Vue整个响应式系统的闭环,这一节我们直接来看Vue源码。 一、Vue响应式系统分析 1.1. 简单回顾 回顾一下我们自己的响应式实现过程: 首先将data通过Object.defineProperty处理成可响应的数据(getter/setter) 【读】数据时会触发getter调用Dep.depend将依赖上下文进行收集 【写】数据时会触发setter调...
    JavaScript Vue.js   2022.10.20 10:34
  • vue2.x版本中computed和watch的使用入门详解-关联和区

    watch篇 computed篇 两者的区别,继续通过代码实现的方式具体去了解 html &lt;li&gt;最开始的value值:{{ name }}&lt;/li&gt; &lt;li&gt;computed计算后的值:{{ compu...
    JavaScript 前端工具 Vue.js   2022.05.26 09:37
  • 手写 Promise

    就是干 ECMAscript 6 原生提供了 Promise 对象。Promise 对象代表了未来将要发生的事件,用来传递异步操作的消息。 接下来用分块、分步骤、加注释来一步一步,实现手写 Promise。 一、实现 Promise 的基本使用 Promise 就是一个类在执行这个类的时候需要传递一 ...
    Javascript   2022-05-20 11:42
  • JavaScript 运行堆栈与闭包

    运行堆栈 前提-高阶函数 在 JS 中,函数做为 第一等公民,与变量具有同等地位,函数不仅是一个可执行的代码段,还可以作为变量进行传递;因此,函数所存储的代码段,就...
    JavaScript 前端工具   2022.05.12 11:21
  • vue2版本中slot的基本使用详解

    前言 在vue的开发过程中,我们会经常使用到vue的slot插槽组件,vue官方文档的描述: slot大概分为以下几种: 基础slot组件(匿名插槽) 匿名插槽主要使用场景并不涉及...
    JavaScript 前端工具 Vue.js   2022.05.12 11:41
  • 【组件封装】改造 Element-UI 多选框组件 (el-check

    el-checkbox多选框组件 element-ui官网的多选框组件,是采用简单数组进行配置的,显示的lable值与勾选后的值是同一个 实际业务场景 在实际业务开发中,我们更多遇到是...
    JavaScript Vue.js   2022.05.15 17:23
  • 【业务实例】vue组件递归及其应用

    递归简介 含义:程序调用自身的编程技巧称为递归,那组件调用自身就是组件递归 应用场景:在实际业务开发中,通常应用于菜单栏、树组件、多级下拉框等 vue实现组件递归...
    JavaScript Vue.js   2022.05.15 17:25
  • 【组件封装】二次封装el-pagination,拒绝繁琐配置

    el-pagination 分页组件 在中后台系统中,经常会使用分页器组件。el-pagination 需要配置 page-size、layout、@current-change等诸多属性。每个页面都这样子使用的话既容...
    JavaScript Vue.js   2022.05.15 17:26
  • 【业务实例】vue2用虚拟列表解决万条数据勾选卡顿问题

    为什么需要虚拟列表 日常开发中,经常需要处理一个大数据量的列表,可能是需要展示、勾选等; 如果我们用html原生的标签实现,性能到还好。但是现在大多都是用第三方组件...
    JavaScript Vue.js   2022.05.15 17:27
  • vue2.x版本中computed和watch的使用入门详解-comp

    前言 基础使用 在computed中,声明一个函数,并需要提供一个返回值,用于在页面展示或者结合其他方法进行处理 结合state状态使用 通过changeName返回一段依赖于name...
    JavaScript Vue.js vuex   2022.05.16 10:00
  • vue2.x版本中computed和watch的使用入门详解-watc

    前言 基本使用 在使用watch的时候,需要在data中生命一个状态,并添加到watch当中进行观察,当发生变化时,watch可以通过默认参数获取最新的值的变化 &lt;li&gt;nam...
    JavaScript 前端工具 Vue.js   2022.05.18 09:30