共计 1747 个字符,预计需要花费 5 分钟才能阅读完成。
本期技术周刊一起理解 Javascript,欢送大家浏览 ~
文章举荐
浅谈 Javascript 闭包 // magnesium
闭包的概念是有很多版本,不同的中央对闭包的说法不一
维基百科:在计算机科学中,闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),是在反对头等函数的编程语言中实现词法绑定的一种技术。
MDN: 闭包 (closure)是一个函数以及其捆绑的周边环境状态(lexical environment, 词法环境)的援用的组合。
集体了解:
- 闭包是一个函数(返回一个函数)
- 返回的函数保留了对外变量援用
JS 如何返回异步调用的后果?// 事实的现实技术
在 JS 中解决异步调用的后果,最佳实际就是“异步转同步”:应用 Promise + async/await 语法关键字。在这里 async 总是与 await 成对呈现,一个 async 函数总是返回一个 Promise,一个 await 关键字总是在尝试“解开”一个 Promise,终局要么等到有价值的数据,要么异步呈现异步,什么也没有等到。为了防止出现异常,影响主线程的失常运行,个别要用 catch 躲避异样。
从 await-to-js 到 try-run-js // jump__jump
之前在做 code review 时候发现有共事应用 try catch 包装了一堆异步代码,于是集体就感觉很奇怪,难道不应该只 catch 可能出问题的代码吗?共事通知我说 try catch 太细的话会呈现内外作用域不统一,须要提前申明变量。
let res: Data[] = [];
try {res = await fetchData();
} catch (err) {
// 错误操作或者终止
// return
}
// 继续执行失常逻辑
前端性能优化到底该怎么做 // 熊的猫
性能指标,如下:
- 首字节达到工夫(
Time to First Byte,TTFB
) - 首次绘制(
First Paint,FP
) - 首次内容绘制(
First Contentful Paint,FCP
) - 首屏工夫 / 最大内容绘制(
Largest Contentful Paint, LCP
) - 累积布局偏移(
Cumulative Layout Shift, CLS
) - 首次输出提早(
First Input Delay, FID
)
要害资源越早达到客户端,证实 TTFB
工夫越短,而这也能间接的缩小 FP
和 FCP
的工夫;对资源进行了压缩解决意味着可能尽可能晋升 LCP
的工夫;缩小了页面的 回流 / 重绘 就能使得 CLS
的数值越小,视图越趋于稳定;FID
是一个用于跟踪浏览器对用户输出做出反馈之前的延迟时间的指标,包含点击和敲击,保障资源的疾速加载和页面尽早渲染,其对应的数值就越小,视图响应就越快。
javaScript 进阶之路 —《手写 Promise(中篇)》// FFF 方
至此间隔咱们实现本人的 MyPromise
类曾经胜利了一大半!我置信通过消化这一篇的内容,你会播种很多很多额定的常识。是不是有一种原来 Promise
不过如此的感觉~
其实有很多很多货色都是用很根本的函数,通过很奇妙的设计去实现一些看起来很简单的逻辑。在下一章咱们会迎来最初的几个关键点,如:微工作的创立 ,then 函数的链式调用,心愿你能坚持下去。
Javascript 变量命名标准 // 一丁目
驼峰命名
首先,和其余语言一样,大部分变量倡议采纳驼峰命名法。
var articleTitle = 'javascript 变量命名标准'
而对于常量,应用大写字母和下划线来组合命名。
const COUNTRY_NAME = 'China'
问答举荐
- js 数组汉字排序?
- js 如何获取数组元素的前置属性(如下图)?
- js 中领有雷同值的两个根本数据类型的变量,它们的内存地址雷同吗?
- 如何优化对象跟数组匹配取得新数组的算法?
- js 获取一串数字中某个数字的索引?
- 求教一下 js 中这种异步的初始化该怎么设计?
- 我想要 trim 掉右边的
# ==
和左边的==
, 请问 js 如何做到呢? - js 须要期待长时间执行的代码,我须要怎么解决?
- js 怎么删除 style 中某个类款式?
# SegmentFault 技术周刊 #
「技术周刊」是社区特地推出的技术内容系列,一周一主题。
每周二更新,欢送「关注」。大家也能够在评论处留言本人感兴趣的主题,举荐主题相干的优良文章。
如有问题能够增加小姐姐微信~