首页
沸点
课程
数据标注
HOT
AI Coding
更多
直播
活动
APP
插件
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
轮子
订阅
llwanghong
更多收藏集
微信扫码分享
微信
新浪微博
QQ
10篇文章 · 0订阅
实现一个完美符合Promise/A+规范的Promise
简要介绍:Promise允许我们通过链式调用的方式来解决“回调地狱”的问题,特别是在异步过程中,通过Promise可以保证代码的整洁性和可读性。本文主要解读Promise/A+规范,并在此规范的基础上,自己实现一个Promise. 在了解Promise规范之前,我们知道主流的高…
一起学习造轮子(三):从零开始写一个React-Redux
这个库是可以选用的。实际项目中,应该权衡一下,是直接使用 Redux,还是使用 React-Redux。后者虽然提供了便利,但是需要掌握额外的 API,并且要遵守它的组件拆分规范。 本文对于react-redux的用法不会过多介绍,重点仍然放在源码实现上。如果还不太了解如何使用…
手把手教你撸一个简易的 webpack
随着前端复杂度的不断提升,诞生出很多打包工具,比如最先的grunt,gulp。到后来的webpack和Parcel。但是目前很多脚手架工具,比如vue-cli已经帮我们集成了一些构建工具的使用。有的时候我们可能并不知道其内部的实现原理。其实了解这些工具的工作方式可以帮助我们更好…
Promise 原理解析与实现(遵循Promise/A+规范)
代码逻辑书写顺序与执行顺序不一致,不利于阅读与维护。 异步操作的顺序变更时,需要大规模的代码重构。 回调函数基本都是匿名函数,bug 追踪困难。 回调函数是被第三方库代码(如上例中的 ajax )而非自己的业务代码所调用的,造成了 IoC 控制反转。 4. Promise 代码…
手动实现bind函数(附MDN提供的Polyfill方案解析)
所以,为了理想主义和世界和平(所有浏览器上都能随心所欲调用它),必要的时候需要我们自己去实现一个bind。那么,一个bind函数需要具备什么功能呢? 绑定this、定义初始化参数是它存在的主要意义和价值。MDN对它的定义如下: 由于arguments是类数组对象,不拥有数组的s…
实现一个Promise(基于Promise/A+规范)
相信大家经常使用Promise,或者使用Generator、asnyc/await等异步解决方案,网上的Promise原理也遍地开花。 一直以来想抽出时间也写一写Promise实现,但是平常工作也是忙的不可开交,正好元旦放了3天假期,休息了2天半,抽出半天时间来看一看Promi…
开源库架构实战——从0到1搭建属于你自己的开源库
最近在 H5 开发与 APP 客户端工程师的联调过程中, 经常需要实现一些常用的移动端事件封装成接口提供给客户端,例如用户的单击 tap 事件、双击事件、长按事件以及拖动事件。但由于浏览器默认只提供了 touchstart、touchmove、touchend 三个原生事件,在…
Seajs源码解读
近几年前端工程化越来越完善,打包工具也已经是前端标配了,像seajs这种老古董早已停止维护,而且使用的人估计也几个了。但这并不能阻止好奇的我,为了了解当年的前端前辈们是如何在浏览器进行代码模块化的,我鼓起勇气翻开了Seajs的源码。下面就和我一起细细品味Seajs源码吧。 在看…
javascript实现依赖注入的思路
作为一个开发人员,你不可避免要使用别的开发者提供的模块。我个人不喜欢依赖第三方模块,但这很难实现。即使你已经有了封装的非常好的组件,你仍然需要能将这些组件完美组合起来的东西。这就是依赖注入的作用。有效地管理依赖关系的能力现在是绝对有必要的。这篇文章总结了我对这个问题和一些解决方案
如何写一个js模块打包器(翻译)
在看阮一峰老师的每周分享后,看到了一篇关于如何写一个模块打包器的一篇英文文章,之前基本没有了解过,只知道如何使用webpack等,所以这一篇对我来讲很及时,好记性不如烂笔头,所以先尝试着把它翻译出来。 大家好!。。。(客套话)欢迎来到我的酒馆,今晚累的够呛,但只要有客人来玩我都…