看看 20 道棘手的面试题,通过做题,巩固ES6。
对于前端路由应该都很熟悉了,开发过spa应用的应该都用过,只是很少人去查一下前端路由实现的原理。
前端路由的实现核心问题有两个,一个是改变url不刷新,另一个是监听url变化。主要靠的就是hash和history两个方式。
在这样一个 JavaScript 组件化开发时代,除了能找到好用的组件,我们自然也需要了解如何才能成为创造这个时代的一员。而第一步就是要知道并掌握如何规范地、负责任地发布一个 NPM 包。
看看 20 道棘手的面试题,通过做题,巩固ES6。
对于前端路由应该都很熟悉了,开发过spa应用的应该都用过,只是很少人去查一下前端路由实现的原理。
前端路由的实现核心问题有两个,一个是改变url不刷新,另一个是监听url变化。主要靠的就是hash和history两个方式。
在这样一个 JavaScript 组件化开发时代,除了能找到好用的组件,我们自然也需要了解如何才能成为创造这个时代的一员。而第一步就是要知道并掌握如何规范地、负责任地发布一个 NPM 包。
Babel 是我们知道的将 ES6、ES7等代码转译为 ES5 代码且能安全稳定运行最好的工具。本文介绍了从AST到Babel原理。
文章研究了一下前端内存相关的问题,以便在开发过程中做出更优的选择,减少内存消耗,提高程序性能。
在 React 中生命周期方法、Hooks和 Suspense是获取数据的方法。文章用事例演示如何使用它们并说明每种方法的优点和缺点,以便咱们更好的编写异步操作代码。
这篇文章介绍了9个不同的项目,每个项目都有不同的主题和不同的JavaScript框架或库作为技术栈,我们可以构建这些项目并将其添加到学习目标,通过项目实战快速学习。
介绍了一些 VSCode 前端必备插件,快来看看有木有你想要的。
先自行思考下知道几种,再来看看比较看看,学习下新的布局方法。
你不知道的GPU — 前端、图形系统与数据可视化
月影的分享,从微博上关注他很久,他做图形化已经很多年了
深入理解 React 高阶组件
React的组件,美妙的像一把7-0的王者荣耀
blockly入门与介绍
很初级,科普性质,从这里开始,掌握卡搭核心技术
现代 Web 开发的现状与未来
如果把 Modern Web —— 也就是『现代 Web 开发』,而非『传统 Web 开发』——看作一种独立的技术范式和专业领域,它的现状是怎样的,有哪些重要趋势,未来会怎样?文章有点长,但是看完后相信你会有所收获的。
【译】一文洞察 Chrome DevTools 近半年新增了哪些功能
工欲善其事,必先利其器。Chrome Devtools 是前端开发工程师不可或缺的开发工具,最近半年 Chrome 更新了 6 个版本,其中的 5 个版本里 Chrome Devtools 也更新了一些新功能,本文对最近的一些更新做了翻译整理,我们一起来看看近半年有哪些值得关注的新功能。
通常情况下,垃圾数据回收分为手动回收和自动回收两种策略。
手动回收策略,何时分配内存、何时销毁内存都是由代码控制的。
自动回收策略,产生的垃圾数据是由垃圾回收器来释放的,并不需要手动通过代码来释放。
两个月前,曾发过一篇《你未必知道的49个CSS知识点》,已有3000多赞,这里,老姚真心谢谢大家的支持。本篇是第二季。与前一篇相比,每个动图都做了加速处理,看起来更流畅一些。另外,本篇还简单地做了归类,动画特效相对多一些。
日常业务项目开发的痛点之一便是前端的回归测试,免不了各种手动点点点,但凡改动了某个公用组件,函数,都要漫山遍野地把项目的主要页面都点进去看一遍有没有问题。项目用了 GraphQL 的话,Schema 一个更新不及时,某个没注意到的页面就挂了,然后就等着开 issue 或者报线上 Bug 吧
新建一个空文件夹,用于创建项目,使用 npm init 命令创建一个 package.json 文件。
输入这个命令后,终端会问你一系列诸如项目名称,项目描述,作者等信息,也可以使用 npm init -y 这个命令来一次生成 package.json 文件,这样终端不会询问你问题。
在开发过程中,尤其是新开项目的时候,往往需要重新进行各种配置、甚至复制以往的代码,为了解决这种场景,就有了 CLI,想必大家平时都经常使用,比如 Vue 的vue-cli,React 的 create-react-app,这类工具存在的主要目的是:释放双手、加快项目开发进度。
本文使用node.js实现文件分片上传,没有使用node.js的框架。前端使用javascript实现,也没有使用框架。这里用到了mongoDB数据库。(本文代码练习用,非项目)
HTML5 提供了 geolocation API,用于提供位置相关服务。地理位置 API 通过window.navigator.geolocation提供。在使用之前需要进行判断该对象是否存在,如果存在的话,那么位置信息可用
两个月前,曾发过一篇《你未必知道的49个CSS知识点》,已有3000多赞,这里,老姚真心谢谢大家的支持。本篇是第二季。与前一篇相比,每个动图都做了加速处理,看起来更流畅一些。另外,本篇还简单地做了归类,动画特效相对多一些。
HTTP/2 相比于 HTTP/1.1,可以说是大幅度提高了网页的性能,只需要升级到该协议就可以减少很多之前需要做的性能优化工作,当然兼容问题以及如何优雅降级应该是国内还不普遍使用的原因之一。
虽然 HTTP/2 提高了网页的性能,但是并不代表它已经是完美的了,HTTP/3 就是为了解决 HTTP/2 所存在的一些问题而被推出来的。
1.【 学 ES6 ?】 先看看这篇文章,还清ES5的帐吧!
虽然很多人入门ES6都是去阮一峰老师的ES6教程ECMAScript 6 入门,但是注意了,阮老师开篇就建议如果你的js基础不够扎实,还是先把基础打扎实再回来学es6。出来混,ES5的债,迟早要还滴!!(泛指ES6之前的基础知识)
作为程序猿的我们,写代码同样也需要大量的写作技巧。一份良好的代码能让人耳目一新,让人容易理解,让人舒服自然,同时也让自己成就感满满(哈哈,这个才是重点)。因此,我整理下三年来自己使用到的一些JS开发技巧,希望能让你写出耳目一新、容易理解、舒服自然的代码。
设备的多样化让用户无处不在,有时候我们需要根据不同的浏览器运行环境做出对应的处理。浏览器是JavaScript的承载体,我们可以从浏览器上获取相关的信息,来进一步处理我们的业务逻辑。
然而浏览器品牌众多,有些浏览器使用的标准也不太一样,造就了难以统一的判断。下面我大概罗列一下常用的浏览器品牌和在什么情况下使用浏览器运行环境判断。浏览器相关统计数据可以参考这里。
最近一直在做小程序的底层实现,过程中磕磕绊绊也多次进行架构方向上的转型,趁着周末抽空写一篇文章记录一下开发过程中遇到的问题和一些思考与决策。
音视频编解码对于前端工程师是一个比较少涉足的领域,涉及到流媒体技术中的文本、图形、图像、音频和视频多种理论知识的学习,才能够应用到具体实践中,我们自研web播放器并支持h.265解码,在码率优化的大背景下(保持画质不变情况下,应用图像增强、roi区域检测、智能场景分类和h265编解码等多种技术能力,将码流降低50%。达到减少带宽成本,提升视频服务QoE的目的),真正做到了h265解码播放的全域覆盖。本文主要分享了我们基于WebAssembly实现H.265格式的解封装、解码和播放。
有时候我们希望元素被focus的时候页面不发生滚动,例如我们点击一个按钮打开一个弹框,此时点击弹框中的关闭按钮隐藏弹框后,希望键盘的焦点回到之前的按钮上