20190606 前端开发日报

13 种有用的 JavaScript DOM 操作;深入理解JS中this关键字;前端应该知道的JavaScript浮点数和大数的原理;了解js运行机制——微任务与宏任务;如何在 JS 循环中正确使用 async 与 await;介绍一个有趣的 web 框架:Zero;Node 入门:一本全面的 Node.js 教程;25年开发经验的大牛,写出了5本JavaScript好书全部免费开源

  1. 13 种有用的 JavaScript DOM 操作 DOM(Document Object Model)是网页上所有对象的基础。它描述文档的结构,并且为编程语言提供操作页面的接口。它被构造成逻辑树。每个分支以节点结束,每个节点包含有子节点。DOM API 有很多,在本文里面,我仅介绍一些我认为最有用的 API。 document.querySelector / document.querySelectorAll document.que...
  2. 深入理解JS中this关键字 看个例子 function indetify() { retun this.name.toUpperCase() } var obj = { name: 'zz' } indetify.call(obj) // 'ZZ' 复制代码 这里函数identify中的this指向变量me,如果不使用this的话,想实现这种效果,就需要显示的传入上下文对象,例如 function indetify(contex...
  3. 前端应该知道的JavaScript浮点数和大数的原理 不知道大家在平时的搬砖中有没有遇到过一些JavaScript数字相关的坑,比如比较经典的0.1+0.2=0.30000000000000004、JavaScript有一个Number.MAX_VALUE还有一个Number.MAX_SAFE_INTEGER等等问题。如果这些问题不了解清楚,业务开发中很有可能会出现一些很奇怪的问题。 几个问题 先抛出几个问题 为什么...
  4. 了解js运行机制——微任务与宏任务 由一道面试题引发的思考。 setTimeout(function() { console.log(4); }, 0); new Promise(function(reslove) { console.log(1); reslove(); }).then(function(data) { console.log(3); }); console.log(2); 复制代码 会输出:1,2,3,4。我们来想一下为什么。 浏览器中的事件循环 eventLoop,分为同步执行...
  5. 如何在 JS 循环中正确使用 async 与 awaitasync 与 await 的使用方式相对简单。 蛤当你尝试在循环中使用await时,事情就会变得复杂一些。
  6. 介绍一个有趣的 Web 框架:Zero 名字就看着很有趣。 所谓Zero的意思是零配置、零烦恼,就是说直接写业务代码即可,其他的事情都交给Zero来搞定。它的官网地址是Zero Server。 Hello World 依照惯例,总是先看Hello World。 npm install -g zero 这个框架需要全局安装。 新建一个文件夹,然后在里面新建一个time.js...
  7. Node 入门:一本全面的 Node.js 教程 关于 本书致力于教会你如何用Node.js来开发应用,过程中会传授你所有所需的“高级”JavaScript知识。本书绝不是一本“Hello World”的教程。 状态 你正在阅读的已经是本书的最终版。因此,只有当进行错误更正以及针对新版本Node.js的改动进行对应的修正时,才会进行更新。 本书中的代码案例都在N...
  8. 25年开发经验的大牛,写出了5本JavaScript好书全部免费开源】最近,猿哥在逛技术社区的时候偶然间发现一本关于JavaScript的好书——《JavaScript for Impatient Programmers》,搜索发现已经有许多人都读过这本书,而且评价都非常好。详见

    25年开发经验的大牛,写出了5本JavaScript好书全部免费开源
  9. 2019 年了,为什么我还在用 jQuery?译者按: 看来 jQuery 还是有一些用武之地的。 原文: Why I'm Still Using jQuery in 2019 译者: Fundebug 为了保证可读性,本文采用意译而非直译。翻译仅供学习探讨,不代表 Fundebug 观点。 许多人都在提倡: “...
  10. Https在各种Web服务器下配置前端很多情况需要用启动web服务器,而为了保证数据的安全性,都需要用Https对传输的数据进行加密传输,而且有些web-view只允许https通过访问,所以学习怎么配置https也成为大前端不可以少的功课之一。下面本妹子...
  11. NJSD Guide 参会指南 日期:6月7日-8日 (周五、周六) 时间:8:00以后开放签到通道,8:45左右大会开幕 地点:南京国际博览会议中心(建邺区白龙江西街6号,近地铁2号线-元通站) 参考地图 友情提示: 1)凭票扫码进场,请大家准备好门票,放于手机中或者打印出来出示皆可...
  12. express 使用 vue-router 的 history 踩坑 Vue-router 默认 hash 模式 —— 使用 URL 的 hash 来模拟一个完整的 URL,于是当 URL 改变时,页面不会重新加载。 如果不想要很丑的 hash,我们可以用路由的 history 模式,这种模式充分利用 history.pushState API 来完成 URL 跳转而无须重新加载页面。 当你使用 history 模式时,URL 就像正常的 url,例如 yoursite...
  13. 尤大大 6 月 4 日的 Vue 技术分享尤大于 6 月 4 日,在深圳某科技公司做了一次 Vue 相关的技术分享。 这里我讲 PPT 分享给大家。 让大家了解 Vue 相关的最新进展。 文章地址:[链接]
  14. 基于PhantomJS的动态爬虫引擎 之前学习爬虫的时候一直了解、学习的是基于PhantomJS的,虽然Chrome的headless更加优秀、比PhantomJS更快、占用内存更少,而且还有个强大的爸爸。但是也不能把之前的学的给荒废了,先实践下再说,况且这种东西大部分应该是都是互通的。 PhantomJS 是无界面的 Webkit 解析器,提供了 JavaScript API 。由于去除了可视...
  15. 前端小册 - 结合源码彻底理解 react 事件机制写这个文章也算是实现19年的一个 flag,研究一个知识点并且把自己的理解整理成文分享出来。也正好在公司内部进行了一次分享,趁还算热乎赶紧的整理下来。
  16. CSS开关按钮三例很多时候我们都需要用户通过勾选/取消checkbox来表明他们对一些问题的答案。我们设置了一个标签,一个checkbox,并在提交表单后获取checkbox值,以查看用户是否已经选中或取消选中该checkbox。我们都知道默认的的...
  17. 使用 JavaScript 来实现解释器和编译器系列教程 该系列「icj, Writing Interpreters and Compilers in JavaScript」中,我们将一起使用 JavaScript 徒手实现编程语言解释器和编译器。因此整个系列分为「解释器篇」和「编译器篇」。 解释器篇 我们将逐步实现我们的第一个编程语言「hi 语言」。我们会一起从零开始构建它,...
  18. vue-router工作原理概述和问题分析root vue实例上定义了一个响应式属性 Vue.util.defineReactive(this, '_route', this._router.history.current)
  19. 5 月份 GitHub 上最热的十个 Python 项目,从 Debug 工具到 AI 水军、量化交易系统 2019 年第 46 篇,总第 70 篇文章 原文地址:https://medium.mybridge.co/python-open-source-for-the-past-month-v-may-2019-473e9f60c73f 5 月份刚刚过去,之前看到了一篇介绍 5 月份的最热机器学习项目,刚好看到 Mybridge AI 博客又发表了一篇 5 月份最热的 Python Github 开源项目,同样...
  20. 我是怎样用函数式JavaScript计算数组平均值的译者按: 有时候一个算法的直观、简洁、高效是需要作出取舍的。 原文: FUNCTIONAL JAVASCRIPT: FIVE WAYS TO CALCULATE AN AVERAGE WITH ARRAY REDUCE 译者: Fundebug 本文采用意译,版权归原作者所有 函数式编程...
  21. 通过动图学习 CSS Flex翻译:疯狂的技术宅原文:[链接] 未经允许严禁转载 如果一张图片胜过千言万语 —— 那么动画呢? Flex 无法通过文字或静态图像有效地完全解释。为了巩固你对flex的了解,我制作了这些动画演示。
  22. 初识前端中的栈 class StackArray { constructor() { this.items = []; } } 复制代码 这便是一个基于数组创建的栈,然后我们要为它声明一些方法。 1、添加元素 要注意该方法只添加元素到栈顶,也就是这个数组的末尾。因此我们可以用数组的push方法来实现 push(element) { this.items.push(ele...
  23. vue面试必备知识点MVVM 是 Model-View-ViewModel 的缩写Model:代表数据模型,也可以在Model中定义数据修改和操作的业务逻辑。我们可以把Model称为数据层,因为它仅仅关注数据本身,不关心任何行为View:用户操作界面。当ViewModel...
  24. 开源僵尸网络平台 LiteHttp 源码分析 一、简介 如今,黑客越来越多的通过修改开源的病毒源码来实现快速的病毒开发,如Mirai、qbot等公开了源码的病毒,常被黑客用于二次开发,用以攻击。前不久,一起针对巴基斯坦的APT攻击中,发现黑客所使用的攻击样本是通过开源僵尸网络病毒LiteHttp改造而来的,与后者的行为基本一致。分析开源恶意软件源码,...
  25. webpack4.x 系列-resolve、devtool 这篇文章是对resolve进行简单介绍 resolve 目录 resolve配置模块如何解析 alias 创建 import 或 require 的别名,来确保模块引入变得更简单。 看下官网的示例 module.exports = { //... resolve: { alias: { Utilities: path.resolve(__dirname, 'src/utilities/'), Templates: p...
  26. 【带着canvas去流浪】(2)绘制折线图示例代码托管在:[链接]博客园地址:《大史住在大前端》原创博文目录 华为云社区地址:【你要的前端打怪升级指南】 一. 任务说明 使用原生canvasAPI绘制折线图。(柱状图截图来自于百度Echarts官方示例库【查看示...

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

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

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