20190905 前端开发日报

JS截取视频第一帧;JS中操作DOM是"同步"还是"异步"?;浏览器的渲染机制以及JS运行机制;你不知道 javascript上卷第一部分第二,三,四章;VUEX 基本用法;VUE组件系统极速入门2 vuex;【Angular系列】1. 使用Angular material主题定义自己的组件库的配色体系;JavaScript的诞生以及它的不完美之处

  1. JS截取视频第一帧 接上篇 js图片/视频预览 – URL.createObjectURL() 当视频能够预览并上传后,非要来一张视频第一帧的截图贴上,第一帧是黑的怎么办,下一帧。 一、文件上传 使用 <input type="file"> 上传, change 事件作为预览 video 的 src 的触发条件 新鲜源码: <video controls width="700&q…
  2. JS中操作DOM是"同步"还是"异步"? 按理说,在js的执行中,对于DOM的操作都是同步执行的, <body></body> <script> var body = document.querySelector(‘body’); console.log(`1`); var cDiv = document.createElement(‘div’); console.log(cDiv) console.log(`2`); body.appendChild(cDiv) console.log(…
  3. 浏览器的渲染机制以及JS运行机制 所以浏览器的渲染过程主要包括以下几步: 当浏览器遇到一个 script 标记时,DOM 构建将暂停,直至脚本完成执行,然后继续构建DOM。每次去执行JavaScript脚本都会严重地阻塞DOM树的构建,如果JavaScript脚本还操作了CSSOM,而正好这个CSSOM还没有下载和构建,浏览器甚至会延迟脚本执行和构建DOM,直至完成其CSSOM的下载…
  4. 你不知道 javascript上卷第一部分第二,三,四章 将变量定义在某个函数内部,仅内部使用 相当于将变量隐藏了起来,而且变量不会污染全局变量或者说上级变量 但是函数隐藏变量有两个缺点 1.变量名污染所在作用域 2.必须显式地调用函数名 解决这两个问题的方法就是立即执行函数 不仅仅不会变量污染还会立即执行不需要显式调用 变量和函数提升 提升是先调…
  5. VUEX 基本用法 mutations 是提交修改store的状态的唯一方法。每个mutation都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler),回调函数就是我们改变state的方法。 actions跟mutations差不多,但是action不直接修改state,它是提交到mutation上让mutation来修改state。要记住mutation是唯一可以修改state的。actions跟…
  6. VUE组件系统极速入门2 vuex 看完了官网vuex一头雾水的,比如vuex中的…mapState、countAlias: ‘count’等。没看过官网也没事,希望对你们有帮助。 下文都是我的个人理解,官网的就引用了代码,也许存在着很多错误的描述或者理解,请各位请教,我会改正的。 这个坑之前就深挖了~现在是时候填了。 为什么要有vuex? 它是管理组件与组件通信的库。 子…
  7. 【Angular系列】1. 使用Angular material主题定义自己的组件库的配色体系 本期为Angular系列的第一篇文章,我会从这里搭建Angular sample项目、组件库、主题、然后每个组件等。使之成为一个比较通用的组件库系列文章,目的有二:1、自己在写系列文章过程中不断夯实基础、不断学习补缺;2、分享给一些不熟悉angular及自定义组件的同学,使之快速上手并提高。 1. 使用Angular CLI命令行工具生成…
  8. JavaScript的诞生以及它的不完美之处 JavaScript最初由Netscape的Brendan Eich设计。 JavaScript是甲骨文公司的注册商标。 Ecma国际以JavaScript为基础制定了ECMAScript标准。 JavaScript也可以用于其他场合,如服务器端编程。完整的JavaScript实现包含三个部分:ECMAScript,文档对象模型,浏览器对象模型。 Netscape在最初将其脚本语言命名为LiveS…
  9. JavaScript 屏幕录制 API 学习前端屏幕录制?截屏?网页生成图片?帧图?说到录屏,我一开始想到的是前面这些词。大致的想法是持续的生成当前页面的截图,然后把这些帧图再合并成一个视频文件。前端页面生成图片我们应该比较熟悉的是html2canv…
  10. VUE组件系统极速入门1 如何你没有下面几个问题,那这篇文章真的是一无是处。 组件的创建与引用 父组件与子组件的交互 组件与组件间的交互 0.1 谈谈组件 我一开始是对组件有着深深的误解,我个人直接把web中的组件强行等于安卓中的button啊,listview啊,其实是错的。组件的划分,并没有那么严格,一个按钮可以是一个组件,页面的…
  11. 前端er初试图片裁切器(Fox-ImageCropper) 基于Cavnas的图片裁切工具,基础图片处理工具 ImageCropper Tool, basci image processor base on canvas :eyes: 代码仓库github 预览地址(功能不完善,持续更新中····) Tips 1:还处于开发流程中,功能暂时不完善,没有部署到线上, 你可以暂时 git clone 到…
  12. 烧脑JS+Canvas带你体验「偶消奇不消」的智商挑战层叠拼图Plus是一款需要空间想象力和逻辑推理能力完美结合的微信小游戏,偶消奇不消,在简单的游戏规则下却有着无数种可能性,需要你充分发挥想象力去探索,看似简单却具有极大的挑战性和趣味性,这就是其魅力所…
  13. 基于Node.js的优先异步队列 想不到我在日常开发中,竟然遇到“优先异步队列”的需求。github上有类似功能,并且集成redis的库有 Kue 、 Bull 等。但是,对于追求“简、易、轻”的我来说,其实并不满意。根据“二八原则”,我决定,自己来实现一个只有上述两者“两成”功能的轻量级开源库: priority-async-queue 。 开源库的命名为什么这么长呢?原因是…
  14. 初识nodejs 前端工程师需要学习nodejs来扩充自己的知识边界,也让自己更方便的理解webpack,前端工程化等。 1. process process对象是node中的一个全局变量,它提供了nodejs进程的信息并对其进行控制,作为全局变量,process始终可以直接使用。 argv是我们常会见到一个属性,process.argv返回一个数组,包含了在运行node代码时…
  15. ES6的Promise对象的使用 Promise 对象, ES6 新增的一个全新特性,虽然它出现很久了, but 我相信,有很多的小伙伴还是没有怎么用过,今天让我们来好好的学习一下它。 Promise 的诞生 1、Promise 的含义 所谓 Promise ,简单说就是一个容器,里面保存着某个未来才会结束的事件(通常是一个 异步操作 )的结果。从语法上说,…
  16. 一行js代码实现时间戳转时间格式javascript时间戳转换,支持自定义格式,可以显示年,月,周,日,时,分,秒多种形式的日期和时间。
  17. 人生就是在造轮子:elton-web 框架(Golang) 前言 开始接触后端开发是从nodejs开始,最开始使用的框架是express,后来陆续接触了其它的框架,觉得最熟悉的还是koa。使用golang做后端开发时,对比使用过gin,echo以及iris三个框架,它们的用法都类似(都支持中间件,中间件的处理也类似),但是在开发过程中还是钟情于koa的处理方式,失败则throw error,成…
  18. js实例对象与其原型对象中的属性值问题 最近在外头”浪”,当然出去混,总是要有收获的,废话不多,直接来一道关于原型链的问题。 题目 简化题目,大概内容如下: var Tree = function() {}; Tree.prototype.print = function() { console.log(this.leaf++); }; Tree.prototype.leaf = 0; var tree1 = new Tree(); tree1.print(); tree1.print(); var …
  19. JS 如何创建、读取和删除cookie为了回馈读者,《大迁世界》不定期举行(每个月一到三次),现金抽奖活动,保底200,外加用户赞赏,希望你能成为大迁世界的小锦鲤,快来试试吧
  20. 前端内存泄露浅析 手上负责的vue项目最近出现一个这样的问题,用户用着用着就出现:”喔唷,崩溃啦!“的提示。 做了以下性能优化尝试: 主动销毁对象及其子对象 主动取消监听listener 本地搜索减少组件DOM渲染 主动销毁对象及其子对象 vue-cropper.js,组件实例不会主动销毁,需要主动调用destroy方法销毁。 …
  21. 在 Jenkins 上实现 webpack 打包 Jenkins 是 开源的 、提供友好操作界面的 持续集成( CI ) 工具,集成了 Git 插件,起源于 Hudson。主要用于持续、自动的构建项目。 一句话理解 Jenkins Jenkins 可以为我们 自动拉取 github 上代码,帮我们 编译 、 打包 、 执行 、 部署 的自动化工具。 知识点 GET CD、CI概念 CI概念: 持续集成(Contin…
  22. 是谁,在敲打我窗:CSS 雨滴动画效果 1、扯闲篇 是谁在敲打我窗 是谁在撩动琴弦 那一段被遗忘的时光 渐渐地回升出我心坎 是谁在敲打我窗 是谁在撩动琴弦 记忆中那欢乐的情景 慢慢地浮现在我的脑海 那缓缓飘落的小雨 不停地打在我窗 只有那沉默不语的我 不时地回想过去 是谁在敲打我窗 是谁在撩动琴弦 记忆中那…
  23. 如何编写高质量的 JS 函数(二):命名/注释/鲁棒篇 上篇 《如何通过 JavaScript 编写高质量的函数(1) — 敲山震虎篇》介绍了函数的执行机制,此篇将会从函数的命名、注释和鲁棒性方面,阐述如何通过 JavaScript 编写高质量的函数。 (一)函数命名 一、目前前端的函数命名存在什么问题 从上图可…
  24. 算法修炼之Javascript版剑指Offer – 复杂链表的复制 1. 题目描述 输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的 head。(注意,输出结果中请不要返回参数中的节点引用,否则判题程序会直接返回空) 2. 解题思路 思路一: 递归思想:把大问题转换为若干小问题。 将复杂…
  25. 「干货」CSS 不定宽高的垂直水平居中(最全 9 种)垂直居中,在 CSS 中是一个老生常谈的问题,面试的时候也会时常被提及。所以,今天我们就来聊聊 9 种不同的居中方法。
  26. js图片 视频预览 URL createObjectURL() URL.createObjectURL() 静态方法会创建一个  DOMString ,其中包含一个表示参数中给出的对象的URL。这个 URL 的生命周期和创建它的窗口中的  document 绑定。这个新的URL 对象表示指定的  File 对象或  Blob 对象。 来源: MDN 简单的理解一下就是将一个 file 或 Blob 类型的对象转为 …
  27. 新手学习 react 迷惑的点(一)网上各种言论说 React 上手比 Vue 难,可能难就难不能深刻理解 JSX,或者对 ES6 的一些特性理解得不够深刻,导致觉得有些点难以理解,然后说 React 比较难上手,还反人类啥的,所以我打算写两篇文章来讲新手学习 …
  28. JavaScript版剑指offer—T35丑数 某一个数只包含质因数2,3,5,则该数为丑数。换一句话来说,就是,某一个能被2整除、或者被3整除、或者被5整除之外,不能再被其他数整除,则为丑数。如6,能被2整除和被3整除;8,能一直被2整除,9能一直被3整除。 – 时间效率高的思路 建立一个空的数组,用来存放排好序的丑数;这会牺牲小部分的空间内存。 那么…
  29. 搭建前端自动集成环境直接向远程服务器 push 测试分支代码, 看看流水线是否在构建代码,如果是,则恭喜成功了,以后部署直接 push 一下就完事了,不用手动传了.
  30. ES6中Promise使用 Promise对象接收两个参数一个是 resolve 、一个是 reject 。Promise是构造函数。 resolve是一个函数,将Promise对象的状态从pending变为resolved,返回异步操作的结果作为参数传递出去。 reject是一个函数,将Promise对象的状态从pending变为rejected,将错误作为参数传递出去。 Promise实例生成后then方法…
  31. 基于 Vue 全家桶、Lumen 开发的 Web 评教系统 README.md 介绍 评教系统是一款为提高教师的教学质量,反馈学生的心声,提高学校教务管理能力的系统。针对各专业所授课程及教师的评价结果,直观的统计出每位教师的综合能力。 演示 后台管理 分数统计 …
  32. Angular 组件通信的三种方式 原文: medium.com/@mirokoczka… 这个教程适合初学者看,这里介绍的是最常见的三种通信方式。 如图,下面的页面里有个名为side-bar的组件,组件内部有个toggle方法,可以控制显示或隐藏,这个需要其他组件来调用toggle的方法。 我们可以通过以下三种方式来实现: 传递一个组件的引用给另一个组件 …

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

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


关注我

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

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

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