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