首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
确定删除此收藏集吗
删除后此收藏集将被移除
取消
确定删除
确定删除此文章吗
删除后此文章将被从当前收藏集中移除
取消
确定删除
编辑收藏集
名称:
描述:
0
/100
公开
当其他人关注此收藏集后不可再更改为隐私
隐私
仅自己可见此收藏集
取消
确定
JavaScript
订阅
Neoz
更多收藏集
微信扫码分享
微信
新浪微博
QQ
32篇文章 · 0订阅
从 Fetch 到 Streams —— 以流的角度处理网络请求
自第一个实现的浏览器开始计算,Fetch API 已经快要五岁了。这五年 Chrome 和 Firefox 刷了不少版本号,IE 也不知死了多少年,而它的继任者更是上演了一出名为《Edge: Become Chromium》的好剧。再加上 ES6+ 的普及,我们早已习惯了基于 …
深入JavaScript系列(一):词法环境
简而言之,词法环境就是相应代码块内标识符与值的关联关系的体现。如果之前了解过作用域概念的话,和词法环境是类似的(ES6之后作用域概念变为词法环境概念)。 环境记录(Environment Record):记录相应代码块的标识符绑定。 对外部词法环境的引用(outer):用于形成…
手写async、await、generator核心逻辑
群里聊天有人说面试问到了 async 的实现原理,并且回答中提到了 generator,最近正好学习了一下标题中的三个玩意,觉得回答上有点不妥,产生了一番折腾,最后自己手写了这三个东西的大致逻辑。 本文没有详细源码的解析,属于个人学习过程中的理解方式,如果想学习可以参考文章中给…
Async / Await / Generator 实现原理
在多个回调依赖的场景中,尽管Promise通过链式调用取代了回调嵌套,但过多的链式调用可读性仍然不佳,流程控制也不方便,ES7 提出的async 函数,终于让 JS 对于异步操作有了终极解决方案,简洁优美地解决了以上两个问题。 设想一个这样的场景,异步任务a->b->c之间存在…
JavaScript异步编程:Generator与Async
从Promise开始,JavaScript就在引入新功能,来帮助更简单的方法来处理异步编程,帮助我们远离回调地狱。 Promise是下边要讲的Generator/yield与async/await的基础,希望你已经提前了解了它。 在大概ES6的时代,推出了Generator/y…
深入学习函数式编程系列(四)——了解递归
递归主要的核心思想是将问题分解为较小的问题,逐个解决后再组合,构建出整个问题的答案。 具体概念不详述,可谷歌百度自行搜索。递归适合解决类似XML解析、语法树构建,深度遍历等问题。 你会发现函数的声明基本表达了上述所说的递归两个主要部分。不得不承认,很优雅! 递归适当时候可以优雅…
前端模块化详解(完整版)
在JavaScript发展初期就是为了实现简单的页面交互逻辑,寥寥数语即可;如今CPU、浏览器性能得到了极大的提升,很多页面逻辑迁移到了客户端(表单验证等),随着web2.0时代的到来,Ajax技术得到广泛应用,jQuery等前端库层出不穷,前端代码日益膨胀,此时在JS方面就会…
笔试题——JavaScript事件循环机制(event loop、macrotask、microtask)
JavaScript 都知道它是一门单线程的语言,这也就意味着 JS 无法进行多线程编程,但是 JS 当中却有着无处不在的异步概念 。要完全理解异步,就需要了解 JS 的运行核心——事件循环(event loop)。 js执行之后,程序输出 'start' 和 'end',在大…
JS正则表达式完整教程(略长)
亲爱的读者朋友,如果你点开了这篇文章,说明你对正则很感兴趣。 想必你也了解正则的重要性,在我看来正则表达式是衡量程序员水平的一个侧面标准。 关于正则表达式的教程,网上也有很多,相信你也看了一些。 与之不同的是,本文的目的是希望所有认真读完的童鞋们,都有实质性的提高。 本文内容共…
浏览器与Node的事件循环(Event Loop)有何区别?
本文我们将会介绍 JS 实现异步的原理,并且了解了在浏览器和 Node 中 Event Loop 其实是不相同的。 官方的说法是:进程是 CPU资源分配的最小单位;线程是 CPU调度的最小单位。这两句话并不好理解,我们先来看张图: 进程好比图中的工厂,有单独的专属自己的工厂资源…