-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy path20181231.html
26 lines (24 loc) · 23.4 KB
/
20181231.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>小蜜蜂前端周刊第八期 | 小蜜蜂前端周刊</title>
<meta name="generator" content="VuePress 1.8.2">
<meta name="description" content="好好学习,天天向上。">
<link rel="preload" href="/FE-Weekly/assets/css/0.styles.a908ec75.css" as="style"><link rel="preload" href="/FE-Weekly/assets/js/app.44c279c7.js" as="script"><link rel="preload" href="/FE-Weekly/assets/js/2.946cf503.js" as="script"><link rel="preload" href="/FE-Weekly/assets/js/15.8441e7fa.js" as="script"><link rel="preload" href="/FE-Weekly/assets/js/6.de6a323c.js" as="script"><link rel="prefetch" href="/FE-Weekly/assets/js/10.5352507b.js"><link rel="prefetch" href="/FE-Weekly/assets/js/11.83a72ade.js"><link rel="prefetch" href="/FE-Weekly/assets/js/12.00b61850.js"><link rel="prefetch" href="/FE-Weekly/assets/js/13.d79373a6.js"><link rel="prefetch" href="/FE-Weekly/assets/js/14.462af9ef.js"><link rel="prefetch" href="/FE-Weekly/assets/js/16.7f190713.js"><link rel="prefetch" href="/FE-Weekly/assets/js/17.d836d8bc.js"><link rel="prefetch" href="/FE-Weekly/assets/js/18.636e69cb.js"><link rel="prefetch" href="/FE-Weekly/assets/js/19.9b122cc9.js"><link rel="prefetch" href="/FE-Weekly/assets/js/20.413f7eec.js"><link rel="prefetch" href="/FE-Weekly/assets/js/21.c65a8de1.js"><link rel="prefetch" href="/FE-Weekly/assets/js/22.97da2382.js"><link rel="prefetch" href="/FE-Weekly/assets/js/23.26864382.js"><link rel="prefetch" href="/FE-Weekly/assets/js/24.3a360530.js"><link rel="prefetch" href="/FE-Weekly/assets/js/25.d971b269.js"><link rel="prefetch" href="/FE-Weekly/assets/js/26.23721e08.js"><link rel="prefetch" href="/FE-Weekly/assets/js/27.0cf07053.js"><link rel="prefetch" href="/FE-Weekly/assets/js/28.ece7a01d.js"><link rel="prefetch" href="/FE-Weekly/assets/js/29.e7a224ad.js"><link rel="prefetch" href="/FE-Weekly/assets/js/3.e8932c61.js"><link rel="prefetch" href="/FE-Weekly/assets/js/30.a70521fc.js"><link rel="prefetch" href="/FE-Weekly/assets/js/31.c82acf82.js"><link rel="prefetch" href="/FE-Weekly/assets/js/32.e092bf1f.js"><link rel="prefetch" href="/FE-Weekly/assets/js/33.a2b31d8a.js"><link rel="prefetch" href="/FE-Weekly/assets/js/34.f332a696.js"><link rel="prefetch" href="/FE-Weekly/assets/js/35.1a57f590.js"><link rel="prefetch" href="/FE-Weekly/assets/js/36.d502f847.js"><link rel="prefetch" href="/FE-Weekly/assets/js/37.0a25424b.js"><link rel="prefetch" href="/FE-Weekly/assets/js/38.7ea8abc4.js"><link rel="prefetch" href="/FE-Weekly/assets/js/39.c31b2e25.js"><link rel="prefetch" href="/FE-Weekly/assets/js/4.e6e8c85d.js"><link rel="prefetch" href="/FE-Weekly/assets/js/40.998d7921.js"><link rel="prefetch" href="/FE-Weekly/assets/js/41.0badd321.js"><link rel="prefetch" href="/FE-Weekly/assets/js/42.3c31a06f.js"><link rel="prefetch" href="/FE-Weekly/assets/js/43.86f810a9.js"><link rel="prefetch" href="/FE-Weekly/assets/js/44.75e0f4c4.js"><link rel="prefetch" href="/FE-Weekly/assets/js/45.cc392e03.js"><link rel="prefetch" href="/FE-Weekly/assets/js/46.6278f709.js"><link rel="prefetch" href="/FE-Weekly/assets/js/47.e4eaf2a2.js"><link rel="prefetch" href="/FE-Weekly/assets/js/48.313a7005.js"><link rel="prefetch" href="/FE-Weekly/assets/js/49.3bb92779.js"><link rel="prefetch" href="/FE-Weekly/assets/js/5.f9b108dd.js"><link rel="prefetch" href="/FE-Weekly/assets/js/50.7f55cbb3.js"><link rel="prefetch" href="/FE-Weekly/assets/js/51.c323b810.js"><link rel="prefetch" href="/FE-Weekly/assets/js/52.12606e67.js"><link rel="prefetch" href="/FE-Weekly/assets/js/53.2d7b3e69.js"><link rel="prefetch" href="/FE-Weekly/assets/js/54.92e08cca.js"><link rel="prefetch" href="/FE-Weekly/assets/js/55.012f73b8.js"><link rel="prefetch" href="/FE-Weekly/assets/js/56.03073a43.js"><link rel="prefetch" href="/FE-Weekly/assets/js/57.e3439957.js"><link rel="prefetch" href="/FE-Weekly/assets/js/58.baa6fd74.js"><link rel="prefetch" href="/FE-Weekly/assets/js/59.a4ed02f6.js"><link rel="prefetch" href="/FE-Weekly/assets/js/60.42e7e9e5.js"><link rel="prefetch" href="/FE-Weekly/assets/js/61.48f6b23c.js"><link rel="prefetch" href="/FE-Weekly/assets/js/62.43bc49af.js"><link rel="prefetch" href="/FE-Weekly/assets/js/7.eefe6189.js"><link rel="prefetch" href="/FE-Weekly/assets/js/8.02d5fb3e.js"><link rel="prefetch" href="/FE-Weekly/assets/js/9.473470b2.js">
<link rel="stylesheet" href="/FE-Weekly/assets/css/0.styles.a908ec75.css">
</head>
<body>
<div id="app" data-server-rendered="true"><div class="theme-container"><header class="navbar"><div class="sidebar-button"><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" role="img" viewBox="0 0 448 512" class="icon"><path fill="currentColor" d="M436 124H12c-6.627 0-12-5.373-12-12V80c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12zm0 160H12c-6.627 0-12-5.373-12-12v-32c0-6.627 5.373-12 12-12h424c6.627 0 12 5.373 12 12v32c0 6.627-5.373 12-12 12z"></path></svg></div> <a href="/FE-Weekly/" class="home-link router-link-active"><!----> <span class="site-name">小蜜蜂前端周刊</span></a> <div class="links"><div class="search-box"><input aria-label="Search" autocomplete="off" spellcheck="false" value=""> <!----></div> <nav class="nav-links can-hide"><div class="nav-item"><a href="/FE-Weekly/" class="nav-link">
首页
</a></div><div class="nav-item"><a href="https://github.com/bee-fe/FE-Weekly" target="_blank" rel="noopener noreferrer" class="nav-link external">
Github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav></div></header> <div class="sidebar-mask"></div> <aside class="sidebar"><nav class="nav-links"><div class="nav-item"><a href="/FE-Weekly/" class="nav-link">
首页
</a></div><div class="nav-item"><a href="https://github.com/bee-fe/FE-Weekly" target="_blank" rel="noopener noreferrer" class="nav-link external">
Github
<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></div> <!----></nav> <ul class="sidebar-links"><li><section class="sidebar-group depth-0"><p class="sidebar-heading open"><span>小蜜蜂前端周刊第八期</span> <!----></p> <ul class="sidebar-links sidebar-group-items"><li><a href="/FE-Weekly/20181231.html#个人" class="sidebar-link">个人</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/FE-Weekly/20181231.html#javascript-数据类型" class="sidebar-link">JavaScript - 数据类型</a></li><li class="sidebar-sub-header"><a href="/FE-Weekly/20181231.html#js基础巩固系列-【1】this的指向问题" class="sidebar-link">JS基础巩固系列:【1】this的指向问题</a></li><li class="sidebar-sub-header"><a href="/FE-Weekly/20181231.html#md5加密-crypto-js-aes解密" class="sidebar-link">md5加密 + crypto-js aes解密</a></li><li class="sidebar-sub-header"><a href="/FE-Weekly/20181231.html#atob-解码-utf-8-字符" class="sidebar-link">atob 解码 utf-8 字符</a></li><li class="sidebar-sub-header"><a href="/FE-Weekly/20181231.html#通过装饰器自动同步本地存储" class="sidebar-link">通过装饰器自动同步本地存储</a></li><li class="sidebar-sub-header"><a href="/FE-Weekly/20181231.html#如何构建一个高效的开发流程" class="sidebar-link">如何构建一个高效的开发流程</a></li><li class="sidebar-sub-header"><a href="/FE-Weekly/20181231.html#javascript中的神器-promise" class="sidebar-link">javascript中的神器 - Promise</a></li></ul></li><li><a href="/FE-Weekly/20181231.html#js" class="sidebar-link">JS</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/FE-Weekly/20181231.html#javascript-算法与数据结构" class="sidebar-link">JavaScript 算法与数据结构</a></li><li class="sidebar-sub-header"><a href="/FE-Weekly/20181231.html#javascript-引擎基础-shapes-和-inline-caches" class="sidebar-link">JavaScript 引擎基础:Shapes 和 Inline Caches</a></li></ul></li><li><a href="/FE-Weekly/20181231.html#typescript" class="sidebar-link">TypeScript</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/FE-Weekly/20181231.html#typescript-中的-interface-和-type-到底有什么区别" class="sidebar-link">typescript 中的 interface 和 type 到底有什么区别?</a></li></ul></li><li><a href="/FE-Weekly/20181231.html#性能优化" class="sidebar-link">性能优化</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/FE-Weekly/20181231.html#【性能优化】quicklink-实现原理与给前端的启发" class="sidebar-link">【性能优化】quicklink:实现原理与给前端的启发</a></li></ul></li><li><a href="/FE-Weekly/20181231.html#网络" class="sidebar-link">网络</a><ul class="sidebar-sub-headers"><li class="sidebar-sub-header"><a href="/FE-Weekly/20181231.html#深入浅出https工作原理" class="sidebar-link">深入浅出HTTPS工作原理</a></li></ul></li></ul></section></li></ul> </aside> <main class="page"> <div class="theme-default-content content__default"><h1 id="小蜜蜂前端周刊第八期"><a href="#小蜜蜂前端周刊第八期" class="header-anchor">#</a> 小蜜蜂前端周刊第八期</h1> <p><strong>本期文章由 徐梦婷、Kasa Fan、顾伟、Beenle Cheng、Tina Shi、Jimmy Zhang、汤学锋、祝传磊、曹菁、葛盼 供稿</strong></p> <h2 id="个人"><a href="#个人" class="header-anchor">#</a> 个人</h2> <h3 id="javascript-数据类型"><a href="#javascript-数据类型" class="header-anchor">#</a> <a href="https://www.jianshu.com/p/6eba012992fe" target="_blank" rel="noopener noreferrer">JavaScript - 数据类型<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: 虽然天天都在编程,但是要让自己详细的介绍一下 JavaScript 的数据类型,竟然回忆起来有点吃力,并且对于每一种数据类型的一些自带的属性与方法并不是很清晰。这篇文章将是很好的一个回顾手册!</li> <li>推荐人: 徐梦婷</li></ul> <h3 id="js基础巩固系列-【1】this的指向问题"><a href="#js基础巩固系列-【1】this的指向问题" class="header-anchor">#</a> <a href="https://fansgithub.github.io/2018/12/29/this%E6%8C%87%E5%90%91/" target="_blank" rel="noopener noreferrer">JS基础巩固系列:【1】this的指向问题<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: js基础巩固系列1: 准确定位this的指向。</li> <li>推荐人: Kasa Fan</li></ul> <h3 id="md5加密-crypto-js-aes解密"><a href="#md5加密-crypto-js-aes解密" class="header-anchor">#</a> <a href="https://beenle-xiaojie.github.io/2018/12/26/encrypt-decrypt/" target="_blank" rel="noopener noreferrer">md5加密 + crypto-js aes解密<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: 加解密均是为了保证数据的安全性,简单的示例来了解一下!</li> <li>推荐人: Beenle Cheng</li></ul> <h3 id="atob-解码-utf-8-字符"><a href="#atob-解码-utf-8-字符" class="header-anchor">#</a> <a href="https://xue5602.github.io/2018/12/19/atob%E8%A7%A3%E7%A0%81utf-8%E5%AD%97%E7%AC%A6/" target="_blank" rel="noopener noreferrer">atob 解码 utf-8 字符<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: 后台传来经过base64编码的字符串(含有中文), 需要在前端进行解码</li> <li>推荐人: Tina Shi</li></ul> <h3 id="通过装饰器自动同步本地存储"><a href="#通过装饰器自动同步本地存储" class="header-anchor">#</a> <a href="https://lichangwei.github.io/2018/12/27/storage-decorator/" target="_blank" rel="noopener noreferrer">通过装饰器自动同步本地存储<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: 本文介绍了开发中常见的一种场景,通过<code>localStorage</code>保存用户偏好,并重点介绍如何通过装饰器简化代码。</li> <li>推荐人: 李长伟</li></ul> <h3 id="如何构建一个高效的开发流程"><a href="#如何构建一个高效的开发流程" class="header-anchor">#</a> <a href="https://juejin.im/post/5c29c553e51d453fdd603768" target="_blank" rel="noopener noreferrer">如何构建一个高效的开发流程<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: 不知道各位出包流程是否一样,反正我这边现状是每次后端要包,都需要打一个包,然后压缩并通过企业微信发送。或者迭代出包,首先打包,打完包之后压缩通过邮件发送给测试,并要重命名每一个文件的名字,比如名字为迭代版本 + 年月日时分。这样的流程非常繁琐,每次走这个流程都十分难受。那么,我们是如何通过技术来去掉这个痛苦的过程?</li> <li>推荐人: 葛盼</li></ul> <h3 id="javascript中的神器-promise"><a href="#javascript中的神器-promise" class="header-anchor">#</a> <a href="https://www.jianshu.com/p/44de2fc278f3" target="_blank" rel="noopener noreferrer">javascript中的神器 - Promise<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: 我们平时不怎么会遇到回调嵌套很多层的情况,一般也就是一到二级,但是如果遇到回调嵌套很多时,代码层面看会很繁琐,这种情况我们一般称-回调地狱。ES6 提出了 Promise 来解决这个问题,我们一起来看一下 Promise 的用法。</li> <li>推荐人: 曹菁</li></ul> <h2 id="js"><a href="#js" class="header-anchor">#</a> JS</h2> <h3 id="javascript-算法与数据结构"><a href="#javascript-算法与数据结构" class="header-anchor">#</a> <a href="https://github.com/trekhleb/javascript-algorithms/blob/master/README.zh-CN.md" target="_blank" rel="noopener noreferrer">JavaScript 算法与数据结构<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: 算法与数据结构在工作中涉及的不多或直接用现成的方法。只有真正的掌握,才能更好的理解时间复杂度和空间复杂度,为开发复杂逻辑应用打下基础</li></ul> <h3 id="javascript-引擎基础-shapes-和-inline-caches"><a href="#javascript-引擎基础-shapes-和-inline-caches" class="header-anchor">#</a> <a href="https://zhuanlan.zhihu.com/p/38202123" target="_blank" rel="noopener noreferrer">JavaScript 引擎基础:Shapes 和 Inline Caches<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: 本文就所有 JavaScript 引擎中常见的一些关键基础内容进行了介绍——这不仅仅局限于 V8 引擎。作为一名 JavaScript 开发者,深入了解 JavaScript 引擎是如何工作的将有助于你了解自己所写代码的性能特征。</li></ul> <h2 id="typescript"><a href="#typescript" class="header-anchor">#</a> TypeScript</h2> <h3 id="typescript-中的-interface-和-type-到底有什么区别"><a href="#typescript-中的-interface-和-type-到底有什么区别" class="header-anchor">#</a> <a href="https://github.com/Weiyu-Chen/blog/issues/7" target="_blank" rel="noopener noreferrer">typescript 中的 interface 和 type 到底有什么区别?<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: typescript 总会使用到 interface 和 type,对于两者有什么区别呢?通过这篇文章学习,更容易掌握运用。</li></ul> <h2 id="性能优化"><a href="#性能优化" class="header-anchor">#</a> 性能优化</h2> <h3 id="【性能优化】quicklink-实现原理与给前端的启发"><a href="#【性能优化】quicklink-实现原理与给前端的启发" class="header-anchor">#</a> <a href="https://juejin.im/post/5c21f8435188256d12597789" target="_blank" rel="noopener noreferrer">【性能优化】quicklink:实现原理与给前端的启发<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: 近来,GoogleChromeLabs 推出了 quicklink,用以实现链接资源的预加载(prefetch)。本文在介绍其实现思路的基础上,会进一步探讨在预加载方面前端工程师还可以做什么。</li></ul> <h2 id="网络"><a href="#网络" class="header-anchor">#</a> 网络</h2> <h3 id="深入浅出https工作原理"><a href="#深入浅出https工作原理" class="header-anchor">#</a> <a href="https://github.com/ljianshu/Blog/issues/50" target="_blank" rel="noopener noreferrer">深入浅出HTTPS工作原理<span><svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" focusable="false" x="0px" y="0px" viewBox="0 0 100 100" width="15" height="15" class="icon outbound"><path fill="currentColor" d="M18.8,85.1h56l0,0c2.2,0,4-1.8,4-4v-32h-8v28h-48v-48h28v-8h-32l0,0c-2.2,0-4,1.8-4,4v56C14.8,83.3,16.6,85.1,18.8,85.1z"></path> <polygon fill="currentColor" points="45.7,48.7 51.3,54.3 77.2,28.5 77.2,37.2 85.2,37.2 85.2,14.9 62.8,14.9 62.8,22.9 71.5,22.9"></polygon></svg> <span class="sr-only">(opens new window)</span></span></a></h3> <ul><li>推荐理由: 文章通过与HTTP的对比,介绍了HTTPS的优点。最后也说明了HTTPS的缺点,在某些情况下使用HTTP更好。</li></ul> <div class="gitalk-container"><div id="gitalk-container"></div></div></div> <footer class="page-edit"><!----> <div class="last-updated"><span class="prefix">最后更新:</span> <span class="time">2021/12/10 上午10:52:50</span></div></footer> <!----> </main></div><div class="global-ui"></div></div>
<script src="/FE-Weekly/assets/js/app.44c279c7.js" defer></script><script src="/FE-Weekly/assets/js/2.946cf503.js" defer></script><script src="/FE-Weekly/assets/js/15.8441e7fa.js" defer></script><script src="/FE-Weekly/assets/js/6.de6a323c.js" defer></script>
</body>
</html>