前端
文章平均质量分 73
准备前端面试
知白守黑_
记录学习心得,欢迎大佬评论
展开
-
TS 实现 Promise 相关 api
TS 实现 resolve, reject, all, race 方法原创 2022-06-06 00:28:09 · 725 阅读 · 1 评论 -
关于JS console.log() 是同步 or 异步引发的问题
发现问题在学习《Vue.js设计与实现》渲染器部分的时候,发现在调用渲染函数之后修改虚拟DOM的值,渲染函数中拿到的是新的虚拟DOM。const vnode = { type: "div", children: [ { type: "p", children: "text", }, ],};const app = document.querySelector("#app");renderer.r原创 2022-05-31 16:40:25 · 504 阅读 · 0 评论 -
用 TS 实现 Promise(官方测试工具测试通过)
用TS实现Promise(官方测试工具测试通过)Promises/A+ 规范文档Promises/A+(原文)Promises/A+(译文)代码实现先定义需要用到的类型:// Promise的状态enum States { PENDING = "pending", FULFILLED = "fulfilled", REJECTED = "rejected",}// 用于接收一个Promise的函数interface Resolve<T> {原创 2022-02-20 23:15:01 · 3407 阅读 · 0 评论 -
Promises/A+规范翻译 & 学习
Promises/A+规范翻译 & 学习原文翻译 & 学习注释原文链接1. 术语1.1 "promise"是一个拥有 then 方法的函数或者对象,它的行为符合本规范。1.2 "thenable"是一个定义了 then 方法的函数或者对象。1.3 "value"是一个合法的 JavaScript 值(该值的类型包括 undefined、thenable 或者 promise)。1.4 "exception"是一个使用 throw 语句抛出的值。1.5 "reason"是用来表原创 2022-02-13 15:35:40 · 335 阅读 · 0 评论 -
Js - 垃圾回收
背景JavaScript是使用垃圾回收的语言,执行环境会负责在代码执行时管理内存,通实现自动内存分配和闲置资源回收。垃圾回收是一个周期性的过程,垃圾回收程序每隔一段时间就会自动运行,找到不会再被使用的变量,将其内存释放掉。垃圾回收机制不是一个完美的内存管理方案,因为某块内存是否还有用属于不可判定的问题,无法单靠算法解决。以下介绍Js中主要用到的两种垃圾回收策略:标记清除和引用计数标记清理Js最常用的垃圾回收算法为标记清理算法,主要步骤为:通过GC标记内存中存储的所有变量将所有在上下文中的变量以及原创 2021-10-10 17:51:45 · 213 阅读 · 0 评论 -
Js - 模板字面量
背景参考资料JavaScript高级程序设计(第4版)ES6指北【7】——从回调地狱到Promise和async/awaitJS异步编程之Promise详解和使用总结原创 2021-10-06 22:20:10 · 1147 阅读 · 2 评论 -
Js Promise方法
背景在JS异步编程中,如果想要处理异步操作返回的结果,往往会用到callback回调函数。但是如果在callback中也有异步操作,就会出现嵌套回调,过深的嵌套回调会影响代码的可读性,增加代码维护难度,所以层层嵌套的回调又被称作回调地狱。Promise可以很好地解决回调地狱。MDN描述一个 Promise 对象代表一个在这个 promise 被创建出来时不一定已知的值。它让您能够把异步操作最终的成功返回值或者失败原因和相应的处理程序关联起来。 这样使得异步方法可以像同步方法那样返回值:异步方法并不原创 2021-09-25 16:26:53 · 413 阅读 · 0 评论 -
Js中的apply、call和bind方法
背景JS中有一个关键概念叫做执行上下文,也就是JavaScript 代码被解析和执行时的环境。执行上下文有三种类型:全局执行上下文、函数执行上下文和Eval 函数执行上下文。在执行上下文的创建阶段,会确定当前执行上下文中this指针的指向。而call,apply,bind的作用,就是改变函数执行时的上下文,即改变函数内部的this指向。Apply,Call参考资料...原创 2021-09-21 15:52:44 · 2496 阅读 · 0 评论 -
JavaScript函数防抖和函数节流
什么是函数防抖和函数节流函数防抖和函数节流是一种处理高频率触发事件时,优化js代码,降低回调函数的执行频率,提高前端性能的手段。函数防抖(debounce)函数防抖指的是当一个事件被触发n秒后再执行回调函数,若该事件在n秒内再次被触发,则重新计时。场景:在搜索框内输入关键字,当停止完成一段时间之后才会自动加载搜索结果。debounce函数代码实现function debounce(callback, delay = 2000) { // 若timer已存在则取消定时器 timer &原创 2021-09-08 16:55:49 · 92 阅读 · 0 评论 -
JavaScript中的装箱和拆箱操作
JS类型转换JavaScript是一种弱类型的语言,因此在使用js写程序时常常会遇到隐式类型转换的问题,例如以下这种:var str = '100';str /= 2;console.log(str); //输出50,'100'被隐式转换成了整数参考篇目通俗的方式理解动态类型,静态类型;强类型,弱类型...原创 2021-04-22 15:43:11 · 481 阅读 · 0 评论