20191022 前端开发日报

全面总结 JS 中浮点数运算问题;从WebPack 4.X 到 Vue-Cli 3.X 一篇就够;JavaScript笔记(5);Node.js 实现抢票小工具 & 短信通知提醒;JS中如何便捷地修复精度误差?;前端Vue知识小白;JavaScript ES6函数式编程(一):闭包与高阶函数;从vue2.0响应数据到vue3.0响应数据

  1. 全面总结 JS 中浮点数运算问题 经常会碰到一个问题,"为什么 0.1 + 0.2 !== 0.3 ? ",我找了很多资料,尽可能全面地分析原因和解决办法。 文章可能有点枯燥,囧。 这里先给出判断方法 Math.abs(0.1+0.2-0.3) <= Number.EPSILON 复制代码 IEEE 754 64 位浮点类型 IEEE 754 IEEE 754 规定了四种表示浮点数值的方式:单精确…
  2. 从WebPack 4.X 到 Vue-Cli 3.X 一篇就够 一、WebPack webpack的两大特点:1模块化 2打包 作用: 1将sass/less 等预编译的css语言转换成浏览器识别的css文件 2能够将多个预编译文件打包成一个文件 3 打包image/styles/assets/scrips/等前端常用的文件 4 搭建开发环境开启服务器 5 监视文件改动,热部署。 6 将单文件组件(*.vue)类型的文件,转化…
  3. JavaScript笔记(5) 1.DOM操作 常用的DOM操作 document.getElementById(id); //返回指定id的元素,通用 document.getElementsByTagName(tagName); //返回带有指定标签名的对象的集合,通用 /* 不常用 */ getElementsByClassName(className); //返回指定类名的元素集合,不兼容IE7、8,其他浏览器支持 getElementsByName(); //返回指定n…
  4. Node.js 实现抢票小工具 & 短信通知提醒
  5. JS中如何便捷地修复精度误差? 小伙伴经常会遇到类似 0.1+0.2===0.3 返回false的问题,这种问题非常隐晦。有时候又很明显,比如在价格展示的地方,突然某个地方长出了一长串的尾数(3.2元打个8折,本来预期展示2.56元,结果显示 2.5600000000000005元 ,用户恐怕是要被吓跑的)。 为什么 计算能力那么强的电脑,为什么会出现这种低级错误呢? …
  6. 从vue2.0响应数据到vue3.0响应数据 本篇文章篇幅较长,已经对vue2.0响应式原理熟悉的可直接跳过此部分,各取所需,共同交流 在vue中我们使用最多的就是响应式数据了,给我们带来了很多便利,说起响应式数据,也就是数据变了就要更新视图,我们一步一步看一下在vue2.0中是怎么实现这一功能的~ 首先我们定义一个数据: let data = {name: "yangbo&quo…
  7. webpack从零基础到企业实战 grunt gulp fis webpack 1.0~4.0 webpack介绍 webpack 是一个现代 JavaScript 应用程序的 静态模块打包器(module bundler) 。当 webpack 处理应用程序时,它会递归地构建一个 依赖关系图(dependency graph) ,其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多…
  8. Promise 链式调用顺序引发的思考 近一个多月没有写博客了,前阵子一个朋友问我一个关于 Promise 链式调用执行顺序的问题 凭借我对 Promise 源码的了解,这种问题能难住我? 然后我理所当然的回答错了 之后再次翻阅了一遍曾经手写的 Promise,理清了其中的缘由,写下这篇文章,希望对 Promise 有更深一层的理解 问…
  9. webpack优化的一些基本方法 对于我们引入的一些第三方包,比如 jQuery ,在这些包内部是肯定不会依赖别的包,所以根本不需要webpack去解析它内部的依赖关系,可以在 webpack 配置文件中的 module 属性下加上 noParse 属性,它的值是一个正则表达式,用来匹配无需解析的模块,这样可以节约 webpack 的打包时间,提高打包效率。 module:{ …
  10. 当vue页面路径一样 参数不同时 有可能页面不会跳转刷新当vue页面路径一样 参数不同时 有可能页面不会跳转刷问了大佬说是Vue的bug,然后采用了这个奇淫巧技
  11. Vue 3.0 源码逐行解析(一):响应式模块(1) vue 3.0 源码刚出没多久 本人平常开发惯用vue 之前看过 vue 2.0 的一些源码 这次准备做一次逐行分析 3.0 的源码 欢迎大家在下方留言 大家一起讨论。 vue 3.0 源码特色: 结构清晰 通过yarn的工作区方式,简单来说就是功能模块按照package.json下的workspace字段,解耦划分成一个个文件夹(自带package.json,不…
  12. webpack 5 更新日志 ★ webpack 团队于北京时间 10 月 12 日凌晨发布了 v5.0.0-beta.0 版本,本文译自 webpack/changelog-v5。此部分主要面向非插件开发的 webpack 使用者。 ” 简要说明 此版本重点关注以下内容: 我们尝试通过持久化存储优化构建性能。 我们…
  13. webpack 构建前端项目(2) 上一篇讲了一些webpack基础的配置,从这节开始正式构建项目,拿来做演示的是一个移动端项目,淘宝上买的设计图,计划做成一个多模块,模块单独建立和维护,模块间的升级和改造互不影响,但保持项目代码风格、UI风格的统一。 配置文件拆分 根据生产环境和开发环境的差异,需要将webpack的配置文件分成基础配置文件、开…
  14. vue-cli基础配置以及webpack配置修改 脚手架帮我们帮我们把 webpack 等相关的配置都处理好,我们只需要基于脚手架快速构建一个项目即可(项目中一定包含webpack的相关配置) vue脚手架 vue-cli 我们使用任何东西第一步都是安装 1.安装脚手架(一般安装在全局) //=>用npm安装 $npm install @vue/cli -g //=>用yarn安装 $yarn global add @vue/cli …
  15. vue-router 路由管理 文章涉及的内容可能不全面,但量很多,需要慢慢看。我花了很长的时间整理,用心分享心得,希望对大家有所帮助。但是难免会有打字的错误或理解的错误点,希望发现的可以邮箱告诉我1163675970@qq.com,我会及时的进行修改,只希望对你有所帮助,谢谢。 vue-router 路由管理 参考文献 router.vuejs.org/zh/ 1.SPA…
  16. vue 2.x内部运行机制系列文章-虚拟DOM 从 vue内部运行机制系列文章-template模板编译原理 知道, template 经过编译会形成render function,然后render function 会被转化成 VNode 节点。 Virtual DOM 其实就是一棵以 JavaScript 对象(VNode 节点)作为基础的树,用对象属性来描述节点,它是一层对真实 DOM 的抽象。 为什么要用虚拟DOM呢? 例如,我们来…
  17. 浅析JavaScript原型链污染攻击 在JavaScript中,构造函数相当于类,且可以将其实例化。 如果要定义一个类,需要以定义构造函数的方式来定义: 这里Foo函数的内容,就是Foo类的构造函数,而this.num就是Foo类的一个属性。 JavaScript语法特性 在介绍JS原型链之前,需要了解下JS中一些访问对象的语法特性。 如图: JavaScript原…
  18. 基于vue.js 和node构建的个人博客项目(前后端分离)本项目是一款个人学习的博客项目,主要是为了学习vue2 和 node.js。另外涉及到MySQL redis nginx 等技术栈知识 项目地址
  19. 前端组件/库打包利器rollup使用与配置实战 目前主流的前端框架vue和react都采用rollup来打包,为了探索rollup的奥妙,接下来就让我们一步步来探索,并基于rollup搭建一个库打包脚手架,来发布自己的库和组件。 前言 写rollup的文章是因为笔者最近要规范前端开发的业务流程和架构,并提供内部公有组件库和工具库供团队使用。在查阅大量资料并对比了w…
  20. ES6读书笔记汇总系列(一)温故而知新,可以为师矣. 相信大家都会有这种感觉,很多学过的知识经常不使用就会慢慢遗忘!!!本文把以前自己关于 ES6的入门读书笔记重新汇总了一下,并结合了工作中常用的使用场景…
  21. vue实现一个简单的吸顶、锚点和滚动高亮按钮效果 因公司后台管理系统很多功能技术老旧,最近在用vue重构公司的后台管理系统,在做商品管理添加商品这一块,借鉴淘宝的添加商品的交互,需要实现一个简单的吸顶、锚点和滚动高亮按钮的效果。 需求 滚动页面到顶部,实现某元素固定到顶部效果 点击某个按钮,页面滚动到相应的位置 滚动页面,当到达某个位置时…
  22. Javascript执行机制(同步和异步) JavaScript 语言的一大特点就是单线程,也就是说,同一个时间只能做一件事。 单线程就意味着,所有任务需要排队,前一个任务结束,才会执行后一个任务。这样所导致的问题是: 如果 JS 执行的时间过长,这样就会造成页面的渲染不连贯,导致页面渲染加载阻塞的感觉。 // 以下代码会输出什么 console.log(1); setTime…
  23. JavaScript Basics_Fundamentals Part 2_A simple calendar 下方的日历框架是从 Active learning: A simple calendar 上整过来的。 主要任务是用 if…else 语句来让日历本显示出每月相对应的天数,相关代码已经给出,我们只需要补充 // ADD CONDITIONAL HERE 下欠缺的代码即可。 点击上方的「Reset」按钮可以重置代码,点击「Show solutio…

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

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


关注我

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

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

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