20190923 前端开发日报

面试题之Javascript实现1万的阶乘;5个有用的Vue开发技巧;小tips: 元素focus页面不滚动不定位的JS处理;ES6 Proxy 的 trap 结果检测是一种性能浪费还是优化?;Webpack按需加载打包chunk命名;Vue 3.0 最新进展:Composition API;Vue最全指令大集合————VUE;理解 vuex 实现原理

  1. 面试题之Javascript实现1万的阶乘 最近面试的时候遇到一道面试题,就是实现10000!,当时的第一反应是直接用递归实现: function factorial_recursion(n){ if(n <= 1) return 1; return n * factorial_recursion(n-1) } 复制代码 但是这样就会存在问题,Js中最大的安全整数为2^53- 1,10000!结果溢出该范围,代码运行结果为Infinity,无法…
  2. 5个有用的Vue开发技巧 在平时的开发中,我们用vue可能很久了,但是对于有的新特性或者技巧没有发现,本文就带着大家一起看看常用的vue技巧 1.状态共享 随着组件的细化,就会遇到多组件状态共享的情况,Vuex当然可以解决这类问题,不过就像Vuex官方文档所说的,如果应用不够大,为避免代码繁琐冗余,最好不要使用它,今天我们介绍的是vue.js …
  3. 小tips: 元素focus页面不滚动不定位的JS处理 byzhangxinxu from https://www.zhangxinxu.com/wordpress/?p=8972 本文欢迎分享与聚合,全文转载就不必了,尊重版权,圈子就这么大,若急用可以联系授权。 一、问题的由来 有时候我们希望元素被focus的时候页面不发生滚动,例如我们点击一个按钮打开一个弹框,此时点击弹框中的关闭按钮隐藏弹框后,希望键…
  4. Webpack按需加载打包chunk命名 最近,遇到复杂h5页面开发,为了优化H5首屏加载速度,想到使用按需加载的方式,减少首次加载的JavaScript文件体积,于是将处理过程在这里记录一下,涉及到的主要是以下三点: 使用Webpack如何做按需加载 filename和chunkFilename的区别 如何命名chunk的名称(webpackChunkName) 1 使用Webpack如何做按需加载 …
  5. Vue 3.0 最新进展:Composition API 最近 Vue 官方发布了最新的3.0 API 修改草案,并在充分采纳社区的意见后,将 Vue Function API 更正为 Vue Composition API,提供了在 Vue 2.x 能够提前体验此 API 的库 @vue/composition-api。
  6. 理解 vuex 实现原理 本章重点讲解一下 vuex 的实现原理, 因为代码中注释比较多,显得代码比较冗余,所以最好把下来,可以把注释删了看一下,其实没有多少代码 开胃小菜 Vuex是什么? Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用 集中式存储管理 应用的所有组件的状态, 这个状态管理应用包含以下几个部分: …
  7. 2019-大龄前端如何准备面试之手写题 今年和以往一个区别就是有一些大厂增加了手写前端逻辑 或者 收集算法这个环节。前端的一些语言特性,异步控制相对好准备,大多都是Promise的使用外加递归。算法就相对来说难准备一些。需要一个长时间的积累。本文分几类来举例。抛转引玉。 前端语言特性 这部分主要考察对于js语言本身的理解,如this,原型链的理解,ins…
  8. Nodejs中监控事件循环异常 最近在学习 libuv,也了解了一些 Node.js 中使用 libuv 的例子。当然,这篇文章不会去介绍 event loop,毕竟这些东西在各个论坛、技术圈里都被介绍烂了。本文介绍如何正确使用 Event loop,以及即使发现程序是否异常 block。 基础 event loop 的基础想必各位读者都比较熟悉了。这里我引用官方的图,简单介绍两句,作…
  9. 从vue-loader源码分析CSS Scoped的实现 本文同步在个人博客shymean.com上,欢迎关注 虽然写了很长一段时间的Vue了,对于 CSS Scoped 的原理也大致了解,但一直未曾关注过其实现细节。最近在重新学习webpack,因此查看了 vue-loader 源码,顺便从 vue-loader 的源码中整理 CSS Scoped 的实现。 本文展示了 vue-loader 中的一些源码片段,为了便于理…
  10. 走进HTML5-学习requestAnimationFrame 欢迎关注我的个人博客分享一些前端技术、面试题、面试技巧等 在 Web 应用中,实现动画效果的方法比较多,JavaScript 中可以通过定时器 setTimeout 来实现,Css3 可以使用 transition 和 animation 来实现,HTML5 中的 canvas 也可以实现。除此之外,HTML5 还提供了一个专门用于请求动画的 API,即 requestAnimationF…
  11. 国庆前来一波vue相关知识点,值得收藏并给自己充充电九月份推荐集合 查看github最新的Vue weekly;请::点击::集web前端最近很火的vue2框架资源;定时更新,欢迎 Star 一下。 九月从今知几度, 试看镜里头如雪 排闷 [宋] 陆游 风霜九月冷飕飀,湖海飘然一布裘。 亲见…
  12. JavaScript异步解决方案之Promise Promise 对象用于表示一个异步操作的最终完成或者失败,以及结果值 Promise()是一个构造函数,用于实例化 Promise对象 Promise是一种新的写法,而不是新的功能 回调函数本身没有问题,问题是多个回调函数嵌套,容易形成回调地狱,Promise就是为了解决这个问题 语法 // 实例化一个Promise对象 new Pr…
  13. JavaScript PNG 图片编码和解码 PNG 解码是指将一张 PNG 图片的二进制数据转换成像素点数据ImageData。 PNG 的二进制数据有很多方式获取。 在浏览器中可以得到 ArrayBuffer 类型的二进制数据: fetch(url).then(res => res.arrayBuffer()).then(res => { console.log(arrayBuffer) }); 复制代码 在 Node.js 中,可以得到 Buffer 类型的…
  14. JS 对象基本用法 除了string、number、Boolean、null、undefined、symbol之外的其他数据是JavaScript对象:数组、日期,甚至函数等等。 在 JavaScript 中,对象是拥有属性和方法的数据,是无序的数据集合,是键值对的集合。 二、声明对象的两种方法 1. let obj = {‘name’: ‘OQQ’, ‘age’:21} 常用简写方法,【这个obj是对象…
  15. 一文弄懂vuex的使用方式 vuex是一种 状态管理模式 ,它保存着组件的公用的状态,并且以相应的规则保证状态变化。 vuex的核心就是一个store,它相当于是一个容器,里面包含有state,action,mutation,getter,modules。 state:用于数据的存储,是store中的唯一数据源 getters:如vue中的计算属性一样,基于state数据的二次包装,常用于…
  16. JavaScript 对象初入门笔记 Javascript 有七种数据类型,分别是: number 、 string 、 boolean 、 symbol 、 undefined 、 null 、 object 。其中除 object 外都为简单类型, object 为复杂类型。对象是 JavaScript 中的难点,也是学好 JavaScript 必须具备的知识,所以学好对象非常重要,那么一起来看吧。 对象 定义 无序的数据集合;…
  17. 搞懂JS变量提升本文讲解Javascript变量提升引起的问题以及如何规避。 问题 今天看到一道有意思的面试题,考察的还真是JS的基本功,题目如下: {代码…} 根据if条件可以得出可能的答案: Hello world Hello Jack 正确答案 答案…
  18. vue多页面项目中路由如何使用history模式之前写了一个vue项目中需要添加一个打印的页面,需要使用多页面的模式进行开发,vue-cli3出初始化的项目配置多页面还是很容易的,但是发现print.html没有办法配置history模式的路由,一旦使用history模式的路由。…
  19. JavaScript之理清闭包 当我们在理解闭包的时候,首先要明确的是JavaScript中作用域及作用域链的概念。 当代码在一个环境中执行时,会创建变量对象的一个 作用域链 。作用域链的前端是当前环境的变量对象,下一个变量对象来自于包含的外部环境,逐级往上到全局执行环境。在读取或者写入一个变量标识的时候,会从作用域链前端开始,逐层向后…
  20. 一文吃透 React 事件机制原理 大纲 主要分为4大块儿,主要是结合源码对 react事件机制的原理 进行分析,希望可以让你对 react事件机制有更清晰的认识和理解。 当然肯定会存在一些表述不清或者理解不够标准的地方,还请各位大神、大佬斧正。 01 – 对事件机制的初步理解和验证 02 – 对于合成的理解 …
  21. JavaScript 引擎与跨端跨平台相关 当年,小程序刚出来的时候,负责过小程序的开发系列工作,当时有幸还被公司安排去北京参加了小程序开发者大会。 当时,觉得小程序多少推陈出新。至于,后面支付宝说要推出小程序时,甚至一脸吃惊(抄这么快?)。 然后,现在看下来,其实想吐槽下小程序这个形式,个人认为, 被微信以及国内一众厂商带坏了节奏 。 …
  22. html2canvas生成清晰的图片实现打印 最近由于公司业务要求,需要完成一个一键生成照片图片打印总图的功能 html2canvas是一个非常强大的截图插件,很多生成图片和打印的场景会用到它 但是效果很模糊 ,本文主要记录一下如果解决模糊的问题以及各种参数如何设置 目录 基本用法 处理模糊问题 细节问题-压缩base64, 导出处理 基本用法 window…
  23. JavaScript异步解决方案之Generator Generator,生成器。 一个generator function(生成器函数)返回的是一个生成器对象。 语法 代码 // 声明一个generator函数 function* helloWorldGenerator(){ console.log(‘1’) yield ‘hello’ console.log(‘2’) yield ‘world’ return ‘ending’ } // 使用 Generator函数生成一个生成器对象 var g = hel…
  24. 基于Node.JS脚手架express-generator,生成express项目 Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。 Express基于Node.js封装的,快速、开放、极简的 Node.js Web 开发框架。它通过中间件和路由让程序的组织管理变得更加容易;它提供了丰富的HTTP工具;它让动态视图的渲染变得更加容易;他还定义了一组可扩…
  25. 2019年最快的Javascript框架速度是纯nodejs的2倍,更不用说其他依赖nodejs的框架例如express/koa/hapi了,根本不值一提,不但如此,性能还能吊打spring以及一众php7框架。
  26. javascript版快速排序算法是一个效率较高的排序算法,每一轮都会把比基准数小的放左边,比基准数大的放右边,本文章只是记录一下过程盗用一张图来看看过程

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

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


关注我

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

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

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