20190511 前端开发日报

理解promise、async 和await之间的执行关系;JavaScript继承解析;JS笔记(17):事件;译| 自定义一个Vue路由器;URL特殊字符和JS编码解码方法;Webpack 是怎样运行的?;JS 之数组的几个经典api;js异步从入门到放弃( 三)- 异步任务队列(task queues)

  1. 理解promise、async 和await之间的执行关系 先看下面的例子 console.log('script start'); async function async1(){ console.log('async1 start'); await async2(); console.log('async1 end'); } async function async2(){ console.log('async2 end'); } async1(); setTimeout(function(){ console.log('setTimeout'); },0) new Promise(r...
  2. JavaScript继承解析 基本上,ES6 的class可以看作只是一个语法糖,它的绝大部分功能,ES5 都可以做到,新的class写法只是让对象原型的写法更加清晰、更像面向对象编程的语法而已。 借助构造函数实现继承 缺点:无法继承原型链上的属性和方法 function Person () { this.name = 'person1' } Person.prototype.sex = '10' Pers...
  3. JS笔记(17):事件 事件:一件事情或者一种行为(对于元素来说,他的很多事件都是天生自带的),只要我们去操作这个元素,就会触发这些行为 如果没有事件函数赋值,事件默认值为null 系统默认事件:null 自定义事件:undefined 元素天生自带的事件(事件本身不带on): 1) 【鼠标事件】 ...
  4. 译| 自定义一个Vue路由器 大量的教程在解释Vue的官方路由库vue-router如何集成到现有的Vue应用中做了很好的工作。 vue-router通过向我们提供将应用的组件映射到不同的浏览器URL路由所需的功能,做了出色的工作。 简单的应用通常不需要完全成熟的路由库,如vue-router。 在本文中,我们将使用Vue构建一个简单的自定义客户端路由器。 通过这样做...
  5. URL特殊字符和JS编码解码方法 Home Programming >Front end >Javascript URL特殊字符和JS编码解码方法 文章目录 前言 我们在操作 URL 的时候经常需要处理其中的特殊字符,因为在 URL 中有很多字符是有特殊意义的,比如 ? , & , = 等等,如果在处理 URL 的时候不对这些特殊...
  6. Webpack 是怎样运行的?在平时开发中我们经常会用到Webpack这个时下最流行的前端打包工具。它打包开发代码,输出能在各种浏览器运行的代码,提升了开发至发布过程的效率。
  7. JS 之数组的几个经典api本文主要来讲数组api的一些操作,如简单实现扁平化n维数组、数组去重、求数组最大值、数组求和、排序、对象和数组的转化等。
  8. js异步从入门到放弃( 三)- 异步任务队列(task queues)本文是对于异步系列第一篇里提到的evenloop模型中,所提到的任务队列(task queues)的展开分析
  9. 一图理解VUE生命周期感谢作者:[链接]
  10. 用这个插件,帮你把 Web VS Code 变为 C/C++ IDE “ 用两周开发一个插件,能提升更多人的开发效率,这事还是挺划算的。 程序员也分青铜和王者。青铜只专注于埋头搬砖,王者致力于造轮子,为了更轻松地敲代码... 每一个想成为王者的程序员,一定要熟练地使用工具来实现自己的想法,没有工具,那就自己造,让写代码如丝般顺滑。 VS Code 开发中...
  11. Flutter for web README.md Welcome to the code repository for Flutter for web. This repository contains the source code for a fork of Flutter that targets the web. Our goal is to add web support as a first-tier platform in the Flutter SDK alongside ios and Android. The...
  12. 没有废话的vue高级进阶( 三 ) 组件高级用法及最佳实践 世界上有太多孤独的人害怕先踏出第一步。      ---绿皮书 书接上回,上篇介绍了vue组件通信比较有代表性的几种方法,本篇主要讲述一下组件的高级用法和最佳实践, 争取用最少的篇幅占领高地 !(多说一句,后续这个系列会有 vue最佳实践和源码解读 ,我总有办法能让大家看懂,所以点赞关注,不迷...
  13. 如何在Vue里实现一个Redux状态管理? 嗯,我们都知道 redux 通常是 react 项目中 中一种管理数据的手段,它跟我们 vue 项目里的 Vuex 状态管理类似,功能相同,但是使用方法却有不同~ 最近在学习 redux 这一块,为了更好的帮助跟我一样的萌新更加深入的了解 redux 的内部原理,我们就来试试,手动实现一个简单的 redux 状态管理。 不同的是,我们...
  14. 简谈JSONP 浏览器出于安全方面的考虑,只允许与同源下的接口交互。 所谓"同源"指的是"三个相同"。 协议相同:如都是 http 或者 https 域名相同:www.example.com/dir 和 www.example.com/dir2/ 端口相同:如都是80端口 目前,如果非同源,共有三种行为受到限制。 ...
  15. VSCode 使用 eslint 规则格式化 js 使用 Eslint 规范代码。 格式化代码时使用 Eslint 规范。 工具 VSCode Eslint Prettier 二步实现 1. 让 vscode 格式化时默认使用 Prettier 打开 settings.JSON 配置文件: On Windows/Linux - File > Preferences > Settings On macOS - Code > Preferences > Set...
  16. 音乐播放器项目,gulp+面向对象+异步回调+fs模块模拟数据库项目 地址: github.com/liyuanzhe-c… 今天使用jquery按照单对象面向对象思想做了音乐播放器; 只有一个player对象, 各种功能在该对象上面进行扩展, 核心, 除了主入口index.js, 每一个js文件都这么写 禁止使用异步async, await, 避免index.js 先于依赖模块加载出来 (function ($, root) { funct...
  17. vue-json-view 一款用于展示json的vue组件,支持大体积json文件快速解析渲染 在线示例 开发背景: 项目开发过程中遇到展示json的场景,且json文件体积过大,小则几百kb,也尝试了已经开源的部分组件,但由于节点过多,渲染速度过慢,无法使用,已有项目技术选型为vue,无法再使用react相关技术,所以考虑自己开发一款。 开发过程中参考了react-json-view部分api,组件实现的功能比较基础,但...
  18. 12个提高 JavaScript 技能的概念JavaScript 是一种复杂的语言。如果是你是高级或者初级 JavaScript 开发人员,了解它的基本概念非常重要。本文介绍 JavaScript 至关重要的12个概念,但绝对不是说 JavaScript 开发人员只需要知道这些就可以了。
  19. Nodejs+socket.io搭建WebRTC信令服务器 我们在学习WebRTC 时,首先要把实验环境搭建好,这样我们就可以在上面做各种实验了。 对于 WebRTC 来说,它有一整套规范,如使它使用的接口、使用SDP进行媒体协商、通过ICE收集地址并进行连通性检测等等。除此之外,WebRTC还需要房间服务器将多端聚集到一起管理,以及信令服务器进行信令数据交换(如媒体描述信息SDP...
  20. 解析jsonwebtoken(jwt)在nodejs中的使用 这里要用到三个插件, 加上前端一共是至少4个插件 >>>>>>后端应用: jsonwebtoken //生成token字符串 passport //token解析主插件 passport-jwt // 密钥解析规则插件, 有密钥解析 ------------------------------------------------------------ >>>>>> 给前端使用的 jwt-dec...
  21. 简析js中的深浅拷贝问题 因为在JavaScript中对象在赋值中存储的是对象的地址(指针),所以会造成对象类型在复制过程中只复制对象的地址,从而导致以下问题 var people = { name: "小明" } var peoplea = people; peoplea.name = "小白"; console.log(peoplea.name)//小白 console.log(people.name)//小白 复制...
  22. 复习webpack4之打包分析,Preloading,Prefetching 之前学习过webpack3的知识,但是webpack4升级后还是有很多变动的,所以这次重新整理一下webpack4的知识点,方便以后复习。 这次学习webpack4不仅仅要会配置,记住核心API,最好还要理解一下webpack更深层次的知识,比如打包原理等等,所以可能会省略一些比较基础的内容,但是希望我可以通过此次学习掌握webpack,更好...
  23. 从源码分析vue-cli@3.0环境变量配置 在开始之前,我们先来看下官方文档说明;查看vue-cli文档中有这么一句话: 只有以 VUE_APP_ 开头的变量会被 webpack.DefinePlugin 静态嵌入到客户端侧的包中。 复制代码 由此我们可以知道, vue-cli 是有针对 VUE_APP_ 这个变量进行配置。接下来让我们查看源码,看下 vue-cli 是怎么实现的。 源码分...
  24. 手把手带你使用 typescript 实现一个 axios 库(二)url 参数处理 主要内容:对 get 请求参数的处理 需求分析 看下面这个请求 axios({ method: 'get', url: '/base/get', params: { a: 1, b: 2 } }) 复制代码 系列一实现了 axios 的基本请求,但是如果你细心会发现还存在问题,就是我们的请求 url 其实是不全的。具体看下图 图片占位 可以看到我...
  25. 记录一次 http 网络超时的排查过程 微信公众号:内核小王子 觉得可以的话欢迎关注 场景:公司对外网关对很多外部商户开放,运行多年一直正常,昨天某一个客户调用我们接口的时候频繁报connectiontimeout,异常如下: 该异常来自于httpclient,原因是创建连接超时,也就是tcp进行三次握手的时候失败,或者握手报文没有到达服务...
  26. 原创文章:使用Vuejs实现个人所得税功能兼容移动端 使用vuejs实现个人所得税的功能,包含5000起点和3500起点之间个税的变化,并且兼容移动端。 css部分如下: #saper-container { width:86%; margin:0 auto; } #saper-container>.header { margin:10px 2%; } #saper-bd>.subfiled,#gsqd>.gswq>h3,.gssqw>h3 { background:#66CDAA; } #saper-bd>.subf...
  27. GitHub 集成 Netlify:快速预览 PR 前言 本文将介绍使用Netlify为Github中的开源项目进行持续部署: 每当项目发生一个Pull Request时,Netlify会构建相应的代码,并自动回复,在回复内容提供一个在线链接,可供开发者快速预览此次改动的效果。 开始使用 直接访问Netlify网站,使用Github账号登录 ...
  28. Vue项目中配置pug解析支持 Vue 的用法没有变化: <template lang="pug"> transition(name="sider") div.hello h3 {{msg}} p(:style="{color:'#000'}", :htmlData="msg") p label button(@click="clickMe") clickTest </template> 复制代码 要注意的一...
  29. 手摸手,带你用vue撸后台 系列五(v4.0新版本)vue-element-admin 从 2017.04.17提交第一个 commit 以来,维护至今已经有两年多的时间了了,发布了四十多个版本,收获了三万多的 stars,远远的超出了自己的预期。距离上次手摸手系列教程也已经过去了很久,主要...
  30. 使用 Git 的 post-receive 实现自动部署 这事断断续续折腾我大概两周时间,这就把我经历的事分享给大家。 为了实现在本地提交这个blog项目能不用手动到线上更新而努力着,刚开始在找解决办法时以为就那么简单,结果却折腾在docker、linux权限和如何写shell的几个关键知识里面。 流程 这里先简单介绍一下部署流程: 本地--[推...
  31. 从零开始手写一个优化版React脚手架webpack马上要出5了,完全手写一个优化后的脚手架是不可或缺的技能。 本文书写时间 2019年5月9日 , webpack版本 4.30.0最新版本 要转载必须联系本人经过同意才可转载 谢谢! 杜绝5分钟的技术,我们先深入原理再写...
  32. fe-interview:前端面试每日 3+1,以面试题来驱动学习,每天进步一点 README.md 前端面试每日 3+1(每日三问) 《论语》,曾子曰:“吾日三省吾身”(我每天多次反省自己)。 前端面试每日3+1,以面试题来驱动学习,每天进步一点! 让努力成为一种习惯,让奋斗成为一种享受! 相信 坚持 的力量!!! 学习不打烊,充电加...
  33. Vue.js应用性能优化:第一部分---介绍性能优化和懒加载当“移动优先”(Mobile-first)的方式逐渐成为一种标准,而且不确定的网络环境因素应该始终是我们考虑的一点,因此保持让应用程序快速加载变得越来越困难。在本系列文章中,我将深入研究Vue性能优化技术,我们在 V...

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

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

原文:20190511 前端开发日报 ,未经许可,禁止转载。
来源:前端开发博客 (http://caibaojian.com/fe-daily-20190511.html)