20200121 前端开发日报

JavaScript 浮点数之迷:0.1 + 0.2 为什么不等于 0.3?;Webpack实战(六):如何优雅地运用样式CSS预处理;理清Vue响应式系统中的Watcher和Dep的关系;JS:生成器函数和迭代器之前的关系;一文带你看清HTTP所有概念;你需要知道的JavaScript隐式类型转换;TypeScript 真的值得吗?;彻底弄懂 JavaScript 执行机制(Event Loop)

  1. JavaScript 浮点数之迷:0.1 + 0.2 为什么不等于 0.3? “0.1 + 0.2 = ?” 这个问题,你要是问小学生,他也许会立马告诉你 0.3。但是在计算机的世界里就没有这么简单了,做为一名程序开发者在你面试时如果有人这样问你,小心陷阱喽! 你可能在哪里见过 “0.1 + 0.2 = 0.30000000000000004” 但是知道这背后真正的原理吗?是只有 JavaScript 中存在吗?带着这些疑问本文将重点梳…
  2. Webpack实战(六):如何优雅地运用样式CSS预处理 上一篇文章中,我主要分享了《 Webpack如何分离样式文件 》CSS 预处理器是一个能让你通过预处理器自己独有的语法来生成CSS的程序,css预处理指的是在开发中我们经常会使用一些样式预编译语言,在项目打包过程中再将这些预编译语言转换成css。这些预编译语言具有便捷的特性,使用这些,可以减少代码编写,降低项目的开发和…
  3. 理清Vue响应式系统中的Watcher和Dep的关系 响应系统中的 Watcher 即这个系统的观察者,它是响应系统中观察者模式的载体,当响应系统中的数据发生改变的时候,它能够知道并且执行相应的函数以达到某种业务逻辑的目的。打个比方,如果你是一个商家,要寄一批货分别给不同的客户,那么 watcher 就是一个个快递员,发出的动作就是数据发生改变。你只需要负责寄出去这…
  4. JS:生成器函数和迭代器之前的关系 生成器函数就是在普通函数的 function 关键字后面加个星号( * ) function* generator() { yield 1 yield 2 yield 3 } 复制代码 调用生成器函数,返回的就是一个迭代器(iterator)。 const iterator = generator() iterator.next() // {value: 1, done: false} iterator.next() // {value: 2, don…
  5. 一文带你看清HTTP所有概念上一篇文章我们大致讲解了一下 HTTP 的基本特征和使用,大家反响很不错,那么本篇文章我们就来深究一下 HTTP 的特性。我们接着上篇文章没有说完的 HTTP 标头继续来介绍(此篇文章会介绍所有标头的概念,但没有深…
  6. 你需要知道的JavaScript隐式类型转换 JavaScript 作为一门弱类型语言,其变量可以任意赋值从而转换类型,这既是优点也有缺点。如果开发者明白自己的赋值或操作会引发类型转换,那么也就无所谓了,但很多情况下开发者是不清楚自己的操作可能引发隐式类型转换,这个就有点危险,而且还不好问题定位时麻烦多多。 比如下面这张来源于 Here 的图,相信很多人都会…
  7. TypeScript 真的值得吗?在开始之前,希望大家知道,我是 TypeScript 爱好者。它是我在前端 React 项目和基于后端 Node 工作时的主要编程语言。但我确实有一些疑惑,所以想在本文中进行讨论。迄今为止,我已经用 TypeScript 写了至少三年…
  8. 彻底弄懂 JavaScript 执行机制(Event Loop) 作为一枚“前端打字员”, 无论是新手还是老鸟,都会遇到一个令人深省的问题,既然js 是单线程执行的,是按照语句出现的顺序执行的,那么异步的代码 js 是怎么处理的呢?下面的代码是如何进行输出的? console.log(1); setTimeout(function() { console.log(2); }, 0); new Promise(function(resolve) { console…
  9. 2019年谷歌开发者大会之Web的新功能在 2019年谷歌开发者大会 —— 实现适用于Web新功能 的半小时演讲中,Thomas Steiner 介绍了一些 Chrome 已经发布和即将支持的新 API。这些新增的 API 使得 web app 能够实现一些 native app 的功能,并同时坚持保…
  10. JavaScript 浮点数之迷:大数危机 在 JavaScript 中浮点数运算时经常出现 0.1+0.2=0.30000000000000004 这样的问题,除了这个问题之外还有一个不容忽视的 大数危机(大数处理丢失精度问题) ,也是近期遇到的一些问题,做下梳理同时理解下背后产生的原因和解决方案。 作者简介:五月君,Nodejs Developer,慕课网认证作者,热爱技术、喜欢分享的 90 …
  11. JavaScript️可视化:作用域链 本系列包括6篇文章 JavaScript️可视化:事件循环 JavaScript️可视化:提升 JavaScript️可视化:作用域链 JavaScript️可视化:js引擎 JavaScript️可视化:原型继承 JavaScript️可视化:生成器和迭代器 现在开始讲作用域链 在这篇文章中,我假设您了解执行上下文:尽管如此,我也将…
  12. Webapck 简单配置 webpack是一个应用程序的静态模块打包工具,当webpack处理应用程序时,它会在内部构建一个依赖图: 任何时候,一个文件依赖于另一个文件,webpack 就把此视为文件之间有 依赖关系。这使得 webpack 可以接收非代码资源(non-code asset)(例如 images 或 web fonts),并且可以把它们作为 依赖 提供给你的应用程序。 …
  13. 「硬核JS」一次搞懂JS运行机制 从开始做前端到目前为止,陆续看了很多帖子讲JS运行机制,看过不久就忘了,还是自己理一遍好些 通过码字使自己对JS运行机制相关内容更加深刻(自己用心写过的贴子,内容也会牢记于心) 顺道给大家看看(我太难了,深夜码字,反复修改,说这么多就是想请你点个赞在看) 参考了很多资料(帖子),取其精华,去其糟糠,都在…
  14. React — 端的编程范式两年前因为 antd 开始接触了这套脚手架。我的确很需要这套脚手架,对于新手来说,整合 react / redux / react-redux / react-router / react-router-redux 的确还是蛮费劲的 —— 如果像我这么偷懒,可能都没办法了…
  15. swiper.js简单快速实现轮播滑动(兼容PC端、移动端) swiper是一款免费以及轻量级轮播滑动的js框架,适用于PC端跟移动端,官方地址:(https://www.swiper.com.cn/) 效果演示: PC端: 移动端(在浏览器将设备切换为手机,这里切换为iphone),swiper支持移动端触控左右滑动 代码部分(复制粘贴可直接使用): 1 <!DOCTYPE html> 2 <h…
  16. JS基础总结(1)——数据类型 农历2019即将过去,趁着年前几天上班事情少,整理了一下javascript的基础知识,在此给大家做下分享,喜欢的大佬们可以给个小赞。本文在 github 也做了收录。 本人github: github.com/Michael-lzg JavaScript 是弱类型语言,而且 JavaScript 声明变量的时候并没有预先确定的类型,变量的类型就是其值的类型,也…
  17. 带你彻底搞懂Vue3的Proxy响应式原理基于函数劫持实现Map和Set的响应式 在本系列的上一篇文章 带你彻底搞懂Vue3的响应式原理!TypeScript从零实现基于Proxy的响应式库。 中, 我们详细的讲解了普通对象和数组实现响应式的原理,但是Proxy可以做的远不止于此,对于es6中新增的 Map 、 Set 、 WeakMap 、 WeakSet 也一样可以实现响应式的支持。 但是对于这部分的劫持,代码中的逻…
  18. 前端面试每日3+1(周汇总2020.01.19)《论语》,曾子曰:“吾日三省吾身”(我每天多次反省自己)。 前端面试每日3+1题,以面试题来驱动学习,每天进步一点! 让努力成为一种习惯,让奋斗成为一种享受!相信 坚持 的力量!!!
  19. 架构师JavaScript 的对象继承方式,有几种程序写法?
  20. CSS in JS的好与坏
  21. 阿望教你用vue写扫雷(超详细哦) 前言 话说阿望还在大学时,某一天寝室突然停网了,于是和室友两人不约而同地打开了扫雷,比相同难度下谁更快找出全部的雷,玩得不亦乐乎,就这样,扫雷伴我们度过了断网的一周,是整整一周啊,不用上课的那种,可想而知我们是有多无聊了。 这两天临近过年了,该放假的已经放假了,不该放假的已经请假了,公交不打挤…
  22. JS的作用域、闭包 作为一名前端闭包知识点在面试汇总经常问道,工作中也会经常用到,下面讲下我自己对闭包的认识,希望对各位有所帮助;在讲解闭包之前会先讲解一些和闭包有关的一些知识和概念,方便更好的理解闭包; 闭包前置知识 什么是作用域 作用域是使用一套严格的规则来分辨哪些标识符对那些语法有访问权限。通俗的讲,作用域…
  23. 深入NodeJS模块系列 – os读了 os 模块的文档,研究了几个有意思的问题: 识别操作系统平台 理解和计算“平均负载” 理解和计算“cpu 使用率” 理解和计算“内存使用率” 查看运行时间 关注公众号“心谭博客” / 查看原文: xxoo521…

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

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


关注我

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

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

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