20190714 前端开发日报

Javascript 函数式编程:什么是高阶函数?我们为什么需要了解它?;笔记-js判断变量类型;编写前端配置文件的正确姿势;Vue.js函数式组件,什么是函数式组件?为什么要用?什么时候用?;QPS 提升60%,揭秘阿里巴巴轻量级开源 Web 服务器 Tengine 负载均衡算法;一段JS的Array评测之旅(休闲娱乐划水伴侣);React 新特性 Hooks 讲解及实例(四);React Hooks使用实例(一)

  1. Javascript 函数式编程:什么是高阶函数?我们为什么需要了解它? 原文: jrsinclair.com/articles/20… 作者:James Sinclair 前端小白 高阶函数是大家经常挂在嘴边的,但是很少有人去解释它是什么,也许你已经知道什么是高阶函数了。但是我们如何在现中使用它们?有哪些例子可以告诉我们什么时候使用,以及他们怎么表现出实用性?我们可以使用他们操作DOM?或者,那些使…
  2. 笔记-js判断变量类型平时业务代码写多了,学习又懈怠,对js的基本功能都不太熟悉了,面试答不上来,哭唧唧 1.使用typeof 判断的是基本数据类型。 {} object [] object function(){} function ‘1’ string null object undefined/未定…
  3. 编写前端配置文件的正确姿势 现在前端有非常多的工具(webpack、rollup、eslint、prettier、husky、lerna、commitlint等等),这些工具都是为了优化提高前端的开发体验而诞生的。但是问题来了,这些工具有非常多的配置字段,基本靠记忆是搞不定的,所以很多情况都是前人写好,后人拷贝。但是本着不想成为成为拷贝工程师的原则,我辛辛苦苦看完了各个…
  4. Vue.js函数式组件,什么是函数式组件?为什么要用?什么时候用? 原文: medium.com/js-dojo/vue… 作者:Austin Gil 前端小白 TL,DR:如果你的组件不需要状态,那么将其转换为函数式组件可以将性能提高70%。 什么是函数式组价 函数组件(不要与Vue的render函数混淆)是一个不包含状态和实例的组件。 简单的说,就是组件不支持响应式,并且不能通过 this 关键字引用自己…
  5. QPS 提升60%,揭秘阿里巴巴轻量级开源 Web 服务器 Tengine 负载均衡算法在阿里七层流量入口接入层(Application Gateway)场景下, Nginx 官方的Smooth Weighted Round-Robin( SWRR )负载均衡算法已经无法再完美施展它的技能。 Tengine 通过实现新的负载均衡算法Virtual Node Smooth…
  6. 一段JS的Array评测之旅(休闲娱乐划水伴侣) 当清晨的第一缕阳光,映照在我脸庞。犹如一双饱含温情的手抚摸着抚摸着,我便起了床。雨水洗刷过的街道,弥漫着沁人心脾的清香。 街边早餐铺的油条在锅中滋滋发出声响,我知道这根热气腾腾新鲜出炉的油条,过一会儿将会去到下一个地方。我三两口就送它去了(就像B站美食up主徐大sao在重庆时的狠话二两面我两口就吃完了)…
  7. React 新特性 Hooks 讲解及实例(四)想阅读更多优质文章请猛戳GitHub博客,一年百来篇优质文章等着你! React 新特性讲解及实例(一) React 新特性 Hooks 讲解及实例(二) React 新特性 Hooks 讲解及实例(三) 使用 Ref Hooks 类组件中使用 Ref 一般有:…
  8. React Hooks使用实例(一)React Hooks出来也有一段时间了,在这个过程中有一个前端的React项目是专门用的React的FC组件形式来写的。在过程中提炼了一些使用实例,这里记录下。还有,如果你之前从来没有了解过React Hooks,建议你先
  9. CSS面试须知,哪些需要掌握得CSS技巧标准盒子模型:宽度=内容的宽度(content)+ border + padding + margin低版本IE盒子模型:宽度=内容宽度(content+border+padding)+ margin
  10. 尝试Quickjs 早上上班看到阮老师这个微博和评论后对Quickjs提起了兴趣。当我点进 网站 看到Features时,感觉作者是真的牛逼。 Quickjs干了什么? 它能把js构建为二进制可执行文件,能运行至任何地方,也可以基于WASM运行在浏览器上。这是大大地扩展了js的可移植性,在我看来牛逼得不行! 还不单单是这样,对于js还支持ES2019…
  11. LeetCode48.旋转图像 JavaScript给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 示例 1: {代码…} 示例 2: {代码…..
  12. 图解JavaScript对象原型与原型链 使用颜色、形状可视化Javascript中抽象的原型链概念: 橙黄色实心代表函数,函数是可执行的对象; 橘红色圈圈代表prototype属性,且总是存在于函数对象中; 蓝紫色带箭头线段代表原型链的走向; 蓝绿色实心代表普通对象 圈圈+实心组合形式的含义: 橘红色圈圈+黄色实心代表prototype属性为函…
  13. git的一些操作命令查看本地分支: git branch查看远程分支: git branch -a删除本地分支: git branch -d local_branch
  14. (六) Vue-CLI and Leaflet: 线 绘制 接着上一篇文章,这里介绍 线绘制 的功能。Leaflet 中因为没有图层渲染的相关类,所以再图形上没有Geometry 和 Graphic 这两个概念没有很明确的划分。这样使得在完成图像功能时,代码会简单了许多。如上一篇文章讲到的提到的**点,线,面的绘制的关键在于根据用户在的操作上的操作去获取正确的坐标,并将这些坐标组织为…
  15. Angular 修改测试注入问题:Async callback was not invoked within timeout 项目中采用了 Angular 作为前端框架,并采用的其自带的 Jasmine 作为测试框架。而在过去的一段时间里,一直在遭遇下面的问题: Async callback was not invoked within timeout specified by jasmine.DEFAULT_TIMEOUT_INTERVAL 由于,我们有差不多 600 个测试案例,而测试一直会因为这个原因挂掉。因此,我们不得不尝…
  16. Deno 是什么?他和 nodejs 有什么不同之处? Ryan Dahl 创造 nodejs 的大牛,去年花了一年半的时间在新的项目Deno上。Deno 是什么呢?一个被认为是修复完善 nodejs 内在问题的新的 JavaScript 运行时的工具。 不要理解错了,在我自己看来 node 是一个很好的服务端 JavaScript 运行时工具,同时也因为它的生态系统的庞大和使用的语言是 JavaScript。然鹅,Dahl 也…
  17. 公司内部技术分享会:复盘我的前端成长公众号断更的这几天,土哥的全部精力都扑在了公司的项目上,还有团队技术培训,连vlog都懒得折腾了,毕竟个人精力有限。说到技术培训,之前很多在土哥知识星球里的球友都问过我,说「土哥,啥时候讲讲你这几年的…
  18. Nginx反代Websocket 403报错 背景 由于服务器对外只有一个端口,需要用nginx把服务器上多个tomcat的地址代理出来,工程中需要用Websocket,按照网上常规配置后,部分Websocket访问报403错误,部分Websocket正常。 nginx版本 1.14.2 配置 最开始的配置如下 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; …
  19. 使用 SVG 和 Vue.Js 构建动态树图 本文将会带你了解到我是如何创建一个动态树图的,该图使用 SVG(可缩放矢量图形)绘制三次贝塞尔曲线(Cubic Bezier)路径并通过 Vue.js 以实现数据响应。 在开始前, 先让我们来看一个 demo 。 基于 SVG 和 Vue.js 框架的强大功能,我们可以轻松创建基于数据驱动、可交互和可配置的图表与信息图。 该…
  20. 使用 JS 获取视频 Codec 如果第一次接触 Media Source ,大家都会注意到有一个关于 视频 codecs 的指定。 var mimeCodec = ‘video/mp4; codecs=”avc1.42E01E, mp4a.40.2″‘; if (‘MediaSource’ in window && MediaSource.isTypeSupported(mimeCodec)) { var mediaSource = new MediaSource(); //console.log(mediaSource.r…
  21. 是 promise chain 解决了回调地狱,而不是只靠 promise 最近因为对 promise 的状态依赖理解有偏差,导致在开发过程中花费了3个小时的时间才发现错误。感觉浪费时间了,所以结合标准及实践结果对 promise 的状态依赖做了一个总结。 问题代码大致是这样的: // 假设promise为请求错误回调 let promise = new Promise((resolve, reject) => { reject(‘400’); }); …
  22. Angular Router Reuse 的那些坑 RouteReuseStrategy(路由复用策略)是 Angular 框架提供的一种路由复用机制。它可以在用户切换页面的时候,暂存路由的状态,在返回路由的时候,恢复这些快照。 使用场景 我们在做一个后台管理系统,它使用的是 Tab 页 + 无限滚动的方式实现。一旦我们从这个列表页进入详情页,再返回列表页时。不仅会回到列表的最上面…
  23. 面试官:JavaScript的数组有什么特别的地方吗? 数组是前端开发者最常用的数据结构了,我们在项目中无时不刻在操作着数组,例如将列表组件的数据储存在数组里、将需要渲染成条形图的数据同样储存在一个数组里,虽然我们经常使用数组,但是很多人并不了解JavaScript数组的本质。 本节我们将从JavaScript数组的使用、内存模型两大部分进行讲解,希望通过这个小节,让大…

关注github前端日报 订阅精彩文章

前端日报栏目数据来自码农头条,每日分享互联网上热门的前端开发、移动开发、设计、资源和资讯等,为开发者提供动力,如果觉得内容对你有用,记得分享给你的小伙伴。进入码农头条查看更多


关注我

我的微信公众号:前端开发博客,在后台回复以下关键字可以获取资源。

  • 回复「小抄」,领取Vue、JavaScript 和 WebComponent 小抄 PDF
  • 回复「Vue脑图」获取 Vue 相关脑图
  • 回复「思维图」获取 JavaScript 相关思维图
  • 回复「简历」获取简历制作建议
  • 回复「简历模板」获取精选的简历模板
  • 回复「加群」进入500人前端精英群
  • 回复「电子书」下载我整理的大量前端资源,含面试、Vue实战项目、CSS和JavaScript电子书等。
  • 回复「知识点」下载高清JavaScript知识点图谱

每日分享有用的前端开发知识,加我微信:caibaojian89 交流