20180307 前端开发日报

2018春招前端面试: 闯关记;Promise 使用技巧九则;基于 HTML5 Canvas 的交互式地铁线路图;JavaScript中的图片处理与合成(一);从封装函数到实现简易版自用jQuery (二);Vue 2.0学习笔记:实现组件数据的双向绑定;原生js双向数据绑定;2018 年,我们该如何使用 JavaScript?

  1. 2018春招前端面试: 闯关记 正月十三出门.....正式回归大深圳... emmmm....开始踏上漫漫的找工作之路; "拉勾上吊一百年不匹配!!!","BOSS直聘日夜没反应!!!" 题目范围涵盖我最近遇到的笔试题和面谈的....这里不列举哪些公司了 问题汇总,想到就写.... Q: CSS 有哪些样式可以给子元素继承! 可继承的: font-size ...
  2. Promise 使用技巧九则 本文译自 9 Promising Promise Tips。 工程师们,你们总说Pormise好用!但有时候用起来是不是还很懵逼。本文传授给你九条实用的 Promise 使用技巧,帮助你和它建立起良好的关系! 1. 你可以在.then回调里返回 Promise 我必须大声喊出来: 是的!你可以.then回调里返回 Promise! ...
  3. JavaScript中的图片处理与合成(一) 图片处理现在已经成为了我们生活中的刚需,想必大家也经常有这方面的需求。实际前端业务中,也经常会有很多的项目需要用到图片加工和处理。由于过去一段时间公司的业务需求,让我在这方面积累了一些干货,趁着年后这段时间总结成一系列文章与大家分享,希望能对各位努力中的前端童鞋带来启发和帮助~~~:smiley: 本系列...
  4. 从封装函数到实现简易版自用jQuery (二) 上一篇文章 从封装函数到实现简易版自用jQuery (一) 已经介绍了如何实现基本功能和封装成自己的库,这篇文章着重讲对自己 API 功能的拓展,使其更强大。 以下是基于第一篇文章,在本次练习中要用到的代码,以 addClass( ) 为例进行拓展。 <ul> <li id="item1">item1</li> <li i...
  5. Vue 2.0学习笔记:实现组件数据的双向绑定 通过上一节的学习,我们了解到了在Vue的组件中数据传递: prop 向下传递,事件向上传递 。意思是父组件通过 prop 给子组件下发数据,子组件通过事件给父组件发送消息。但Vue中, props 是单向数据绑定,虽然在Vue 1.0版本中,通过 .sync 能实现双向数据绑定。但 .sync 在几个版本中被移除,尽管在2.3版本重新引入 .syn...
  6. 原生js双向数据绑定 前面我们介绍过存储器属性( 重新认识javascript对象(一)——对象及其属性 ),以及如何用 Object.defineProperty() 定义一个存储器属性,今天我们介绍如何用 Object.defineProperty() 实现双向数据绑定。 我们知道一个存储器属性有四个属性描述符: get,set,configurable,enumerable 。我们来复习一下如何创建一个...
  7. 2018 年,我们该如何使用 JavaScript? 从命令行工具和 webpack 到 TypeScript,Flow 等其他工具,我们不妨来讨论一下在 2018 年该如何使用 JavaScript。 去年,包括我在内的很多人都在 谈论 JavaScript 的乏力 。事实上编写 JavaScript 应用程序的方式并没有真正减少,另外有很多命令行工具完成了大量繁重的工作,转译(transpiling)变得不那么重要,并且 ...
  8. 极致 Web 性能:SPA 性能指南 前言 前端框架时代,为开发体验、效率与页面性能带来,非常大的革命。大家纷纷拿起一系列打包工具(webpack/parcel etc.),配合一系列加载器快速搭建起一个 SPA 页面。 SPA 应用带来的好处非常明显; 提升页面切换体验 降低切换时间 易于部署&前后端分离 但是也带...
  9. 150行实现Promise 90%的功能 Promise的实现也算是一个老话题了,网上同类型的文章和示例代码不少,其中不乏许多优秀的实现。但因为Promise“魔幻”的API,以及背后包含的异步处理的独特思想,使得实现一个Promise仍旧是一个富有挑战和趣味性的问题。 这里笔者给出一个自己的实现。为了更好地解释实现的过程,我把Promise的实现分成了10个阶段,并按...
  10. HTTP/2 服务器推送 (Server Push) 教程 作者: 阮一峰 日期: 2018年3月 5日 HTTP/2 协议的主要目的是提高网页性能。 头信息(header)原来是直接传输文本,现在是压缩后传输。原来是同一个 TCP 连接里面,上一个回应(response)发送完了,服务器才能发送下一个,现在可以多个回应一起发送。 服...
  11. 前端异常监控实践 之前写了一篇年终总结的文章,有些朋友对我们在做的监控比较感兴趣,特此写一篇文章来梳理我们的整体的一套思路给大家参考。 前端异常监控系统的开发其实并不复杂,开源实现方案也颇多,技术实现成本并不难,痛点有但是并不是都不能解决,根据我们的情况总结了一下: 前端SDK,主要是用户行为追踪,错误拦截,...
  12. 位运算符在JS中的妙用 所有 JavaScript 数字存储为根为10的64(8比特)浮点数。 JavaScrip t不是类型语言。与许多其他编程语言不同, JavaScript 不定义不同类型的数字,比如整数、短、长、浮点等等。 整数精度(不使用小数点或指数计数法)最多为15位。小数精度的最大位数是17,但是浮点运算并不总是100% 准确。 ...
  13. Babel工作原理及Babel插件开发探索 首先我们这里需要了解一些基本的概念, 这篇文章介绍的很详细 ,我这边只提一下。 Babel Babel 是 JavaScript 编译器,更确切地说是源码到源码的编译器,通常也叫做“转换编译器(transpiler)”。 意思是说你为 Babel 提供一些 JavaScript 代码,Babel 更改这些代码,然后返回给你新生成的代码。 AST 抽象语...
  14. 理性分析 AJAX 跨域问题 跨域问题源于浏览器的安全策略。为了保护数据的安全性和完整性,浏览器使用了同源策略(Same origin policy),以防止恶意脚本从当前源获取其他源的敏感数据。 需要注意的是,浏览器并不限制当前源发送信息到其他源,而是限制接收其他源的数据。 同源策略是浏览器的安全策略。使用非浏览器程序就没有这个限制。例如...
  15. Reactive 编程(一):Reactive 编程的背景 Reactive编程很有趣,现在也有各种各样的讨论,概念上不是很容易理解。本文会以具体的形式介绍相关的概念。Reactive编程跟并发和高性能在概念上有一些重合,但在原理上完全不同。Reactive编程跟函数式编程是非常类似的。一些人认为Reactive编程并不是什么新概念,他们在日常工作中经常使用(例如javascript)。另一些人...
  16. ClojureScript 1.10.x 新技能 cljs.main 快速开启翻译自 https://github.com/clojure/cl...遇到问题, 请用英文反馈至 https://clojureverse.org/t/cl... 内容: ClojureScript 编译器 生产环境编译 在 Node.js 环境运行 ClojureScript Node.js REPL 依赖 这个版本...
  17. 理解React-组件生命周期 React提供给开发者很多方法或‘钩子’,调用于一个组件的生命周期,使我们更新UI和app state。了解何时使用哪些对正确理解如何使用React至关重要。 constructor constuctors是OOP的基础——一个无论何时一个新object被创建时被调用的特殊函数。调用一个特殊函数 super 非常重要,在我们的class extent任何其它class(也...
  18. Javascript 中实现对象原型继承的三种方式 Javacript 中有一个思想:万物皆对象,几个基础类型(String, Number, Boolean, Null, Undefined, Symbol),几个引用类型(Array, Date, Function, Object, Regexp)本质上都是对象。 那么对象之间如何实现关联(也就是OO里面的继承)呢?js中通过prototype(原型)来实现。每个对象都有一个__proto__指针,指向上一个...
  19. Node.js 静态服务器新知 用node http模块搭建服务器一直被用作项目实践及开发,深入学习后,对node搭建http服务器有了新的了解和认识,写此文总结罗列一下 支持gzip压缩 缓存支持/控制 yargs与自动化 Gzip GZIP最早由Jean-loup Gailly和Mark Adler创建,用于UNIX系统的文件压缩。我们在Linux中经常会用到后缀为.gz的文件,它...

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

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

原文:20180307 前端开发日报 ,未经许可,禁止转载。
来源:前端开发博客 (http://caibaojian.com/fe-daily-20180307.html)