分类: 前端

27 篇文章

实现一个异步并发调度器
笔者字节一面的时候遇到了下面这个面试题: //支持并发的调度器, 最多允许2两任务进行处理 const scheduler = new Scheduler(2) scheduler.addTask(1, '1’); // 1s后输出’1' scheduler.addTask(2, '2’); // 2s后输出’2' scheduler.addTas…
【练习小demo】使用React+TS实现一个拖动换位置效果(同时应用节流)
本练习demo旨在练习ts的使用,同时熟悉drag相关的事件 1.思路分析 mouse拖拽事件,通常有三个非常重要的过程:onMouseDown(鼠标按下) onMouseMove(鼠标拖动) onMouseUp(鼠标松开),通常我们在使用mouse拖拽这一事件的过程中,大概就是在这三个事件中进行相应的处理 我们最终要实现的demo效果,就是在鼠标…
【js系列】如何手写一个call,apply以及bind
如何手写一个call,apply以及bind 首先我们对于call,apply以及bind三个函数的区别已经做了分析,具体请查看前文 函数 参数形式 返回值 call 第一个参数为this要指向的对象,后面的参数同函数保持一致即可。 立即执行,返回值即函数返回值。 apply 第一个参数为this要指向的对象,第二个参数为组织成数组形式的函数参数列…
【JS系列】如何模拟实现一个new效果
如何模拟实现一个new效果 对于一个new,它做了如下四件事情 new主要做了以下四件事情* 创建一个新对象 将该对象的__proto__挂载到函数的prototype属性上 将函数的this指针绑定到该对象上 执行函数 如果函数返回值不是一个引用类型 那就返回这个新对象 否则返回函数自身的返回值 function newFactory(func,…
【js系列】this的四种指向和三种改变方法
this的四种指向和三种改变方法 一、this指针: 下面是MDN上关于this指针的表述: 当前执行上下文(global、function 或 eval)的一个属性,在非严格模式下,总是指向一个对象,在严格模式下可以是任意值。---MDN 从字面上的意思,this也就是当前对象主体的一个代指。 二、this指针在JavaScript中的四种指向:…
Array.from的作用以及通过Array.from递归实现深拷贝
Array.from的作用以及通过Array.from递归实现深拷贝 一、作用 Array.from:将一个可迭代对象转换为数组并将其返回 二、参数说明 第一个参数 目标迭代对象 第二个参数map函数(作用同map) 第三个参数map回调使用的this对象 三、Array.from的浅拷贝 浅拷贝概念与原理 浅拷贝:在JavaScript语言中,数…
[Vue3学习笔记] (二) setup ref reactive与生命周期
[Vue3学习笔记] (二) setup ref reactive与生命周期 一、template不再需要根元素 显然在vue3中template不再一定需要一个父元素才能编译通过了。 二、setup函数初识 2.1、关于setup ​ setup函数其实是一个生命周期钩子,它对应的其实就是Vue2中的beforeCreate和create 在vu…
【Vue3学习笔记】(一) 创建Vue3项目
【Vue3学习笔记】(一) 创建Vue项目 一、Vue3官网地址: https://v3.vuejs.org 二、起步 2.1 使用vue3 通过CDN形式使用Vue3 <script src="https://unpk.com/vue@next"></script> 通过@vue/cli使用vue项目 @vue/cli已经…
【转存】tsconfig各项意义
自定义的一个tsconfig.json { "compilerOptions": { "incremental": true, "tsBuildInfoFile": "build/bulidFile", "diagnostics": true, "target": "ES6", "module": "ES6", "outDir": "dist" }…