![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
JS
文章平均质量分 83
飞机大人
此人很lan,甚么都没有写
展开
-
完成一个转换template的webpack-loader:JetLoader
完成一个转换template的webpack-loader:JetLoader目标传递一个对象,根据 key 注入将其转换为对应的 html,并且支持实时 log 转换的 template 的文件名、可配置的首字母大写转换import tpl from "./info.tpl";const info = tpl({ name: "jet", age: 34, career: "前端实习生", hobby: "game/篮球",}); const root = documen原创 2022-04-17 22:32:40 · 778 阅读 · 0 评论 -
async/await 实现原理探析
async/await 实现原理探析ES2017 提供的 Async/Await 是标准的异步编程语法,作为异步编程终极解决方案,可以使开发者使用书写同步代码的方式处理异步编程,本文尝试将 Async/Await 编译成为 ES5 的代码后,去理解其内部实现。代码const getData = () => new Promise(resolve => setTimeout(() => resolve("data"), 1000))async function test() {原创 2022-04-16 17:56:45 · 429 阅读 · 0 评论 -
手写Promise和all、race等方法,附上原理解析
手写一个迷你版的PromiseJavaScript 中的 Promise 诞生于 ES2015(ES6),是当下前端开发中特别流行的一种异步操作解决方案,简单实现一个迷你版本帮助深入理解 Promise 的运行原理芝士点微任务static发布-订阅模式Promise 的声明const PENDING = 'PENDING'const FULFILLED = 'FULFILLED'const REJECTED = 'REJECTED'class JetPromise { st原创 2022-04-05 19:48:45 · 1129 阅读 · 0 评论 -
js中的this指向总结
js中的this指向总结默认绑定在普通函数中打印调用 this,默认指向 window在开启了严格模式后,结果为 undefinedfunction fn() { console.log(this);}fn(); // window'use strict'function fn() { console.log(this);}fn(); // undefined隐式绑定简单来说口诀就是,谁最后调用,this 就指向谁function getName () {原创 2022-04-02 22:32:30 · 219 阅读 · 0 评论 -
Redux源码解析及复现
复现redux本项目对redux进行一个简单复现,下面介绍api、实现及其作用芝士点HOC,高阶组件发布-订阅模式React Context函数柯里化state:redux保存的总数据reducer:统一更改 state 的函数,通过 type 值对应不同的更改操作listeners:储存监听函数列表,通过发布订阅模式通知组件更改数据StoregetState:返回 statedispatch:接受一个 action,将 state 和 action 传递给 reduc原创 2022-03-31 19:18:58 · 1301 阅读 · 0 评论 -
JS 原型与原型链
prototype任何JavaScript对象(null除外)都有一个原型对象,这个原型对象由对象的内置属性_proto_指向它的构造函数的prototyoe指向的对象,即任何对象都是由一个构造函数创建的,被创建的对象都可以获得构造函数的prototype属性,注意:对象是没有prototype属性,只有方法才有prototype属性。function Person() {}var person = new Person(); //方法才有prototype,普通对象无prototypeconsol原创 2021-07-02 15:00:45 · 83 阅读 · 0 评论 -
JS 闭包 防抖与节流
定义「函数」和「函数内部能访问到的变量」(也叫环境)的总和,就是一个闭包。一个函数和对其周围状态(lexical environment,词法环境)的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包(closure)。也就是说,闭包让你可以在一个内层函数中访问到其外层函数的作用域。在 JavaScript 中,每当创建一个函数,闭包就会在函数创建的同时被创建出来。直接上例子function makeFunc() { var name = "Mozilla"; return原创 2021-06-28 21:37:34 · 165 阅读 · 0 评论