20191109 前端开发日报

你每天都在写 JS, 可你知道是谁在推动 JS 发展吗?;如何写出干净整洁的JavaScript;Promise的进化史;web前端面试题-jQuery篇(持续更新…);快看,前端开发者都收藏了这几张图表;Vue、MVVM、MVC、双向绑定;让数据库运行在浏览器里?TiDB + WebAssembly 告诉你答案;封装vue插件,读懂这遍文章就够了

  1. 你每天都在写 JS, 可你知道是谁在推动 JS 发展吗? TC39(Technical Committee No.39), 一个默默推动 JavaScript 发展的技术委员会,隶属于制定了 JavaScript 语言标准化(ECMAScript 规范)的 ECMA 机构,其成员囊括所有主要浏览器厂商。 ECMAScript 规范定义了 JavaScript 如何一步一步的进化、发展。我们平时敲下的每一行 JS 代码,可能都出自 ECMAScript 规范,比如 …
  2. 如何写出干净整洁的JavaScript 这是一篇翻译+摘录的笔记!原文: github.com/ryanmcdermo…      变量 使用有意义和可理解的变量名 bad: const yyyymmdstr = moment().format("YYYY/MM/DD");复制代码 good: const currentDate = moment().format("YYYY/MM/DD");复制代码 使用具有解释性的变量 …
  3. Promise的进化史 同步行为与异步行为之间的对偶是计算机科学中的一个基本概念,尤其是在单线程事件循环模型(如JavaScript)中。面对高延迟操作,异步行为不再需要针对更高的计算吞吐量进行优化。如果在计算完成时仍然可以运行其他指令并且仍保持稳定的系统,那么这样做是实用的。 更重要的是,异步操作不一定是计算密集型操作或高延迟…
  4. web前端面试题-jQuery篇(持续更新…) 1,JQuery的源码看过吗?能不能简单概况一下它的实现原理? jquery源码封装在一个匿名函数的自执行环境中,有助于防止变量的全局污染,然后通过传入window对象参数,可以使window对象作为局部变量使用,好处是当jquery中访问window对象的时候,就不用将作用域链退回到顶层作用域了,从而可以更快的访问window对象。同样…
  5. 快看,前端开发者都收藏了这几张图表 Git命令 在日常工作中,经常会用到Git操作,但是对于新人来讲,刚上来对Git很陌生,操作起来也很懵逼,主要针对刚开始接触Git的新人,掌握常用的命令是必要的,因此黑叔就分享一张指令图方便大家学习与记忆。 Workspace:工作区 Index / Stage:暂存区 Repository:仓库区(或本地仓库) R…
  6. Vue、MVVM、MVC、双向绑定 【模型】指的是后端传递的数据。 【视图】指的是所看到的⻚面。 【视图模型】mvvm模式的核⼼,它是连接view和model的桥梁梁。 它有两个⽅方向: 1、是将【模型】转化成【视图】,即将后端传递的数据转化成所看到的⻚面。实现的方式是:数据绑定。 2、是将【视图】转化成【模型】,即将所看到的页面转化成后端的数据…
  7. 让数据库运行在浏览器里?TiDB + WebAssembly 告诉你答案 一直以来都有个梦想:希望有一个数据库能够弹性扩展(分布式)到成百上千节点的规模,易于学习和理解,可以运行在私有云、公有云、Multi-Cloud、Kubernetes,也能够跑在嵌入式设备(比如树莓派)上,更酷的是也能够直接运行在浏览器里,而且不需要任何浏览器扩展(Extension),变成「口袋数据库」,就像那部电影《蚁人…
  8. 封装vue插件,读懂这遍文章就够了 麻不烧的Github 配合着 源码 ,用心看完这遍文章,你便领悟了封装的精髓,麻雀虽小,五脏俱全。 前记 业务代码之外的代码,我想称之为 增值代码 。 什么意思? 作为一个程序员,你应该除了完成领导安排的任务,你还应该有一些自己的时间,用来“玩”一些比较有意思的事情。 当现有框架、库满…
  9. Vue 详尽的组件通信 最常规的父子组件传值方法,在此不多赘述 值得一提的是,子组件中可以用 $attrs 获取父组件传来的所有属性(除了 class、style),从而不用一个个声明 prop 。 如果不用 prop 声明接收,Vue 会默认将这些属性挂载到 子组件的 dom 根元素上。如果不希望这样,可以设置 inheritAttrs 去除这一默认行为。 export…
  10. 10 个常问的 JS 面试题上个月自己花了 1300 买了阿里的服务器来学习 node 及对应的框架,在 11 号之前它们有做活动,1300 的配置现在一年只要 86 元,三年只要229元,真心觉得很划算了,可以点击下面链接进行参与:
  11. js 经常会被问的 面试题 表头 和原数据是否指向同一对象 第一层数据为基本数据类型 原数据中包含子对象 赋值 是 改变会使原数据一同改变 改变会使原数据一同改变 浅拷贝 否 改变不会使原数据一同改变 改变会使原数据一同改变 深拷贝 否 改变不会使原数…
  12. 在react项目中引入iconfont图标在做react的项目时 引入了ant design组件库,由于组件库的图标 有限,想在项目中引入更多的图标,查了半天终于找到了解决办法。
  13. JS_Module模式深入了解一下 该文章是直接翻译国外一篇文章,关于JS的Module模式的深度解析(这也是JS设计模式中的一种模式)。 都是基于原文处理的,其他的都是直接进行翻译可能有些生硬,所以为了行文方便,就做了一些简单的本地化处理。 如果想直接根据 原文 学习,可以忽略此文。 同时该篇文章也算是,前端模块化的番外篇。(这篇文章也…
  14. RN同构系列:如何将ReactNativeWeb与RN项目整合 react-native-web 的基本原理,就是将 react-native 的组件,针对web的场景从新实现一遍。借助构建工具,实现 react-native 一套代码,多端运行(终端 + web端,实际并没有那么简单)。 很多同学比较关心的是,对于现有的 RN 项目,如何将 react-native-web 整合进去,下文会通过简单的例子逐步进行说明。 文中示例代…
  15. 前端内存优化的探索与实践 引 言 标注是地图最基本的元素之一,标明了地图每个位置或线路的名称。在地图 JSAPI 中,标注的展示效果及性能也是需要重点解决的问题。 新版地图标注的设计中,引入了 SDF ( signed distance field)重构了整个标注部分的代码。新的方式需要把标注的位置偏移,避让,三角拆分等全…
  16. 入门 Node.js Net 模块构建 TCP 网络服务 想做一个简单的 Web API,这个时候就需要搭建一个 Web 服务器,在 ASP.NET 中需要 IIS 来搭建服务器,PHP 中需要借助 Apache/Nginx 来实现,对于新手在还没开始之前看到这么多步骤,也许就要放弃了,但是在 Node.js 中开启一个 Web 服务器是 So Easy 的,我们利用 Net、Dgram、HTTP、HTTPS 等模块通过几行简单的代码就可…
  17. 【Dmitri Pavlutin】JavaScript的this关键字的优雅解释 this 关键字对于许多刚开始学 JavaScript 的人来说就是迷一样的存在,它的功能虽然很强大,但是需要花很大的力气才能弄懂它。 像 Java , PHP 或者其他标准的后台开发语言中, this 被看作是类方法中当前对象的实例:不多不少,大部分情况下,它不能在方法之外使用,这样的规定让this不至于混乱。 但在 JavaScrip…
  18. 使用 Async-hooks 串联 HTTP 请求上下文 开门见山,之前在写业务要求的时候,有一个记录慢查询和慢请求的耗时并上报至 ES 的需求,同样也会有其他类型的日志需要记录上报,起初并没有统一字段,各种类型的日志的字段比较松散,现在需要统一日志字段。这个需求说起来也算是简单,提取一些公用的字段,比如 type、timeTaken、data 等字段,另外还有一些共有的字段…
  19. 递归小函数之haskell&javascript双语对照版 (同事建议我用“自从用了递归,我头发又长回来了”作为标题,哈哈哈哈哈但我是老实人,明明从来没有掉过头发,我就不欺骗大家了~) 前言 首先,这是一篇用 haskell 和 javascript 两种语言来练习递归的基本实践(基准 + 递归条件)的分享文章。 一般解决一个问题,命令式语言期望我们给出求解步骤,而 haskell 则倾向…
  20. Vue 3 中令人兴奋的新功能在上一篇文章中,我们了解了 Vue 3 将带来的性能改进。我们已经知道,用新的 Vue 3 编写的程序效果会很好,但性能并不是最重要的部分。对开发人员而言,最重要的是新版本将会怎样影响我们编写代码的方式。
  21. JavaScript 之实现响应式数据 顾名思义,数据响应式就是当我们修改数据时,可以监听到这个修改,并且作出相应的响应。 一. 监测 Object 对象 需求:当我们修改 obj 对象时,触发 update 方法。 思路:使用 Object.defineProperty 对数据进行劫持,每次修改的时候都会执行 set 方法,在 set 内部可以进行响应更新 编写第一版代码: func…
  22. vue表单校验 100行小白自编两个文件,一个写逻辑,一个写校验规则;特点:逻辑简单,代码量少,够用;不想看代码直接新建这两个文件复制代码,看最下面的使用方法;示例图片
  23. AJAX 与跨域通信(一):AJAX 1.AJAX 解决了什么问题? 在远古时代,如果浏览器需要从服务器请求资源,其交互模式为 “客户端发出请求 -> 服务端接收请求并返回相应 HTML 文档 -> 页面刷新,客户端加载新的 HTML文档”,很显然,在这种情况下,即使只是为了更新部分数据,我们也不得不重新加载整个重绘的页面。而 AJAX 的出现解决了这个问题。…
  24. ES6 Promise实战笔试题ES6 Promise练习 俗话说得好,一动不动是王八,上一篇文章学习了那么久Promise,是时候大显身手了! 基础题 题一 {代码…} 解析:Promise 构造函数是同步执行的,promise.then 中的函数是异步执行的。 运行结果…
  25. [动画][js]如何实现table中逐行上升并垒加的动画效果  某日公司的ui小姐姐找上我,给了我一个神秘网站,我眼前一亮,兴奋的点开来, ,网站上是一张动图,显示着一个表格的动画效果,效果如上图,要实现表格的表体从下往上上升并逐行垒起来,由于项目用的是vue搭建,ui框架用element,我稍加思索,寻思着element应该不会提供这种效果(也有可能没仔细看文档8),那只能自己…
  26. js+node.js+socket.io实现聊天功能(私聊,创建群聊)偶然发现了WebSocket, 发现这个可以实时通信,在线聊天,所以就做了一个聊天工具的demo,记录一下
  27. JS在浏览器和Node下是如何工作的? 原文: itnext.io/how-javascr… 在 JavaScript 王国的土地上,无数开发者在前端或后端领域热情耕耘着。JS 易于理解,也是前端开发中不可或缺的部分。但不同于其他编程语言, 这玩意是单线程的 ,也就是说代码要依次执行。因此一旦有代码占用时间过长,就会阻塞其他需要执行的代码 — 所以以下画面在 Google Chrome …
  28. what-i-learned-from-analysis-vuepress 首先作下自我介绍,我是来自海康威视的综合安防前端组的相霄 :man:‍:computer: :cinema: 今天给大家带来我对 vuepress 的一些分析与实战技巧。 本文思路参考 vueconf2 的 what-i-learn-from-maintain-vue-cli ppt 地址请查看 传送门 介绍 vuepress vuepress 是 vue 全家桶之外的技术,就算是用 …
  29. Jenkins 入门实战:GitHub Push 触发 Jenkins 自动构建 Jenkins 是什么? 官方介绍 :Jenkins 是一款开源 CI&CD 软件,用于自动化各种任务,包括构建、测试和部署软件 Jenkins 支持各种运行方式,可通过系统包、Docker 或者通过一个独立的 Java 程序 那么 Jenkins 到底帮我们做了哪些东西,解决了团队开发中的哪些痛点呢? 当…

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

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


关注我

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

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

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