20190803 前端开发日报

面试必备的13道可以举一反三的Vue面试题;Nestjs入门(三);2019前端秋季社招面试经历总结(三年经验);JavaScript实现ZLOGO子集: 前进+转向;Vue中mixin和extend的区别和使用场景;科普系列:如何解释什么是 Ajax?;Golang和nodejs小比拼;处理 JS中 undefined 的 7 个技巧

  1. 面试必备的13道可以举一反三的Vue面试题 Vue框架部分我们会涉及一些高频且有一定探讨价值的面试题,我们不会涉及一些非常初级的在官方文档就能查看的纯记忆性质的面试题,比如: vue常用的修饰符? vue-cli 工程常用的 npm 命令有哪些? vue中 keep-alive 组件的作用? 首先,上述类型的面试题在文档中可查,没有比官方文档更权威的答案了,其次这种问…
  2. Nestjs入门(三) 在Nestjs 入门(二)中,我们创建了一个基本的 Nestjs 应用。下面我们基于此进行扩展。 源码地址: awesome-nest 序列化 在 entity 中,有时候有些字段不一定要返还给前端,通常我们需要自己做一次筛选,而 Nestjs 中,配合 class-transformer ,可以很方便的实现这个功能。 例如,我们有个 entity 的基类…
  3. 2019前端秋季社招面试经历总结(三年经验)7月份开放的简历,收到了蛮多询问和面试,算是招人旺季,需要跳槽的小伙伴抓住机会。一开始广泛看面试题,没抓住重点复习,有很多平时也没怎么用到,导致一开始面试的时候,问的问题看过,但是都记不清答得不太好…
  4. JavaScript实现ZLOGO子集: 前进+转向 在前文 中文编程语言之Z语言初尝试: ZLOGO 4 与相关讨论后, 萌生了用JavaScript编写类似语言以便在线编程的想法. 于是使用 @TKT2016 (知乎账号)的ZLOGO语法设计, 在 编程语言试验之Antlr4+JavaScript实现"圈4" 基础上, 通过p5js的绘图功能, 实现了基本的两个ZLOGO功能. 如图(动态效果看起来更爽一点, 当然要耐…
  5. Vue中mixin和extend的区别和使用场景 Vue中有两个较为高级的静态方法mixin和extend,接下来我们来讨论下关于他们各自的原理和使用场景。 Mixin: 原理: 先来看看官网的介绍: 参数:{Object} mixin 用法: 混入也可以进行全局注册。使用时格外小心!一旦使用全局混入,它将影响每一个之后创建的 Vue 实例。使用恰当时,这可以用来为自定义选项注入…
  6. 科普系列:如何解释什么是 Ajax? 前言 学妹这学期新开了一门课《Script及AJAX开发技术》,然而临近学期末,她突然跑来问我:到底什么是AJAX ?相信很多人(尤其是前端)在写代码的时候经常会用到AJAX技术,但是如果真要说出个所以然,可能还会有些困难。其实简单概括下,AJAX就是一种利用 JavaScript 向服务端发起请求,并获得服务端响应的技术…
  7. Golang和nodejs小比拼 ​ Golang和nodejs小比拼 这期呢,我们来比较一下,golang和nodejs。这两个都是后端比较热门的开发技术。发展的都非常快。 我们先来看一下golang, 这门技术是免费的,可编译的,开源的,面向通用开发的编程语言。这门语言有两位来自谷歌的专家Ken Thompson和Rob Pike所开发, 开…
  8. 处理 JS中 undefined 的 7 个技巧大约8年前,当原作者开始学习JS时,遇到了一个奇怪的情况,既存在undefined 的值,也存在表示空值的null。它们之间的明显区别是什么?它们似乎都定义了空值,而且,比较null == undefined的计算结果为true。
  9. promise-polyfill 梳理分析【一:构造和resolve决策】 原地址链接 现在主流的浏览器都已经支持大部分的 ES6 的语法了,但是我们还是基本上会使用 Babel 将代码转成 ES5 的代码(可以结合webpack对polyfill进行动态引入),为了更好的兼容,我们还是会引入一些 polyfill ,今天主要是想梳理一下经常使用的 Promise ,就从这个 promise-polyfill 库进行分析吧。 请结合…
  10. 0 到 1 掌握:Vue 核心之数据双向绑定 ​ 当被问到 Vue 数据双向绑定原理的时候,大家可能都会脱口而出:Vue 内部通过 Object.defineProperty 方法属性拦截的方式,把 data 对象里每个数据的读写转化成 getter / setter ,当数据变化时通知视图更新。虽然一句话把大概原理概括了,但是其内部的实现方式还是值得深究的,本文就以通俗易懂的方式剖析 Vue 内部双…
  11. 数据结构与算法在前端领域的应用(进阶)这是一个我即将做的一个《数据结构与算法在前端领域的应用》主题演讲的一个主菜。如果你对这部分内容比较生疏,可以看我的数据结构和算法在前端领域的应用(前菜)
  12. js查找树结构某元素,并找到其所有祖先 前言 写了一个类似element ui的级联面板的那个组件,不同的是,组件可以类似tree选择,选择某个子元素,就返回单个子元素,选择所有子元素,返回父元素。回头整理一下。开源出来。 难点 感觉难点就是数据回填,数据操作倒是不是很难。 数据操作思路: 选中某个节点,然后根据其parent_id,递归查找父元素。假如子元…
  13. Webpack 源码研究 写一个插件很简单,如下: class TestPlugin { apply(compiler) { console.log(‘compiler’); compiler.hooks.compilation.tap(‘TestPlugin’, function (compilation) { console.log(‘compilation’, compilation); }) } } // 导出 Plugin module.exports = TestPlugin; 复制代码 通过我们以往…
  14. JavaScript数据结构——链表的实现与应用 链表用来存储有序的元素集合,与数组不同,链表中的元素并非保存在连续的存储空间内,每个元素由一个存储元素本身的节点和一个指向下一个元素的指针构成。当要移动或删除元素时,只需要修改相应元素上的指针就可以了。对链表元素的操作要比对数组元素的操作效率更高。下面是链表数据结构的示意图: 要实现链表数…
  15. Webpack 打包后代码执行时机分析与优化 原文地址 代码执行时机将决定着是否能够正常执行,当依赖文件没加载完成就开始执行、使用对应模块,那么将会导致执行异常。这在“ 存在资源加载失败时,加载重试影响原来文件的执行顺序 ”的场景下尤为常见。 webpack 构建除了进行模块依赖管理,实际上,也天然地管理了 entry 与 chunk 多文件的执行时机,但缺少…
  16. ES6 Promise – Promise的生命周期和创建Promise的中文意思是‘承诺’,什么叫承诺?承诺就是现在没有发生,在将来的某个时刻一定会发生的事情。放在编程语言的环境下,Promise就是异步事件的结果的占位符。我们不用去管异步事件的结果什么时候来,只需要…
  17. JavaScript实现ZLOGO子集: 测试用例 续前文 JavaScript实现ZLOGO子集: 单层循环功能 . 在添加新功能之前, 先添加测试用例, 以应对日益复杂的代码. 选择使用QUnit编写运行测试用例. 暂时对比较复杂和I/O无关的部分进行测试. 一是代码分析部分: Antlr通过生成的分析器和定制的监听器, 对原始代码进行分析和生成指令序列的部分. 下面是对循环进行测试的…
  18. 关于前端上传文件全面基础扫盲贴(三) —– FormData摘自上面来源,分析的挺好,我就无耻得搬下来了FormData 对象的使用(直接看这个有点蒙圈,建议先看API再看这个实战代码好点,我就是踩过坑的人…╮(╯▽╰)╭)
  19. JavaScript实现ZLOGO子集: 单层循环功能 前文 JavaScript实现ZLOGO子集: 前进+转向 的示例代码很累赘, 因此尝试实现基本的循环功能, 使得前面的11行代码缩减为7行: 开始 循环4次 前进200 左转144度 到此为止 前进200 结束 复制代码 源码和地址同前文. 修改的语法描述(圈3.g4)不多, 应该已经支持多层循环: 声明 : 前进 | 转向 | 循环; 循环…
  20. 基于github webhook的代码自动部署工具最近公司有个项目需要部署到公网上去测试,由于频繁更新,手动去服务器更新太麻烦,仔细研究github有web hook,开发个自动获取代码的小工具咯
  21. GitHub 安全最佳实践 写在前面 GitHub安全最佳实践列表 1.不要将凭证作为代码/配置存储在GitHub中。 2.删除文件中的敏感数据和GitHub历史记录 3.限制访问控制 4.增加SECURITY.md文件 …
  22. 从零开始,采用Vue的思想,开发一个自己的JS框架(二):首次渲染 对我们程序猿/媛来说,仅代码方面,看再多不如自己敲一遍。所以我才打算写这一系列,也算是给自己的所学做一个总结吧,如果有哪里写的不好的地方,还请大家多多指正。本系列文章更新速度不会很快,因为我是代码写到哪里就更到哪里。平时和大家一样也都得上班,所以时间上来说也不会很多。目前预期更新进度大概一周一更或…
  23. CSS实现8种炫酷按钮在各种UI组件库大行其道的今天,大家已经很少自己用CSS去实现一些效果了,久而久之CSS的水平也越来越退步,所以有空还是得练练。今天给大家分享8种炫酷按钮的CSS实现。
  24. Riot.js riot.mount源码解析 riot.mount 是riot加载模板的内容并结合传入的数据渲染出dom并更新到页面上的入口函数。 用法 最常用的用法: selector tagName opts (对象)传入的数据,类似react的props,[]表示可选 demo 先写一个最简单的demo(注意这里使用了necoo-loader分析): tod…

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

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


关注我

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

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

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