20200310 前端开发日报

js中的bind、apply、call的原生实现及其思考;Vue3.0尝试;学习Javascript之数组去重;一招搞定GitHub下载加速;JS reduce方法源码解析;JavaScript BOM;从0开始实现一个promise;本周总结请查收(内附21道前端面试题)

  1. js中的bind、apply、call的原生实现及其思考   说起这三个函数,可能大部分人都觉得,这有啥,我用的贼熟练。对,没错,这是js中十分常见的三个改变this指向的函数,但是里面其实还是有一些细节的地方值得大家注意。下面我们先简要介绍一下这三个函数。 二、函数的用法   其实这三个函数的用法挺简单的,所以我就不过多介绍了,只是简要的介绍一下。 apply函数接…
  2. Vue3.0尝试 前言 有关vue2的相关相关语法我相信大家都已经的语法我相信大家都已经会了,现在都已经 2020 年了vue作为前端这么热门的框架, 不去学一波对的自己是做前端的吗?哈哈哈哈 。 一路就开始折腾,那是一路曲折啊,重不会到会也不知道自己经历了什么,到现在 vue3.x 马上又有开始了所以自己也是先试试水,玩了一波相关…
  3. 学习Javascript之数组去重前言 本文2895字,阅读大约需要12分钟。 总括: 本文总结了10种常见的数组去重方法,并将各种方法进行了对比。 公众号:「前端进阶学习」,回复「666」,获取一揽子前端技术书籍 如烟往事俱忘却,心底无私天地宽。…
  4. 一招搞定GitHub下载加速众所周知,GitHub是一个巨大的开源宝库,以及程序员和编程爱好者的聚集地,包括我之前推荐的诸多优秀的开源项目全部都是位于GitHub上。
  5. JS reduce方法源码解析 最近在百度上搜索对数组内的对象去重时,突然发现有的大佬使用reduce方法去重,这个时候就觉得很不可思议了,因为以前可能是使用reduce方法比较多,所以就特意研究了一下 文档 我们首先看看MDN上是怎么介绍的reduce方法吧,reduce函数主要是接收两个参数,即 reduce(callback(accumulator, currentValue[, curren…
  6. JavaScript BOM所有全局 JavaScript 对象,函数和变量自动成为 window 对象的成员。全局变量是 window 对象的属性。document 对象也是 window 对象属性。全局函数是 window 对象的方法。
  7. 从0开始实现一个promise   promise是es6中一个比较重要的东西,解决了之前的回调地狱的问题,也是在各种面试中出现比较频繁的问题。之前自己在面京东的时候就被问到了finally是如何实现的。可惜当时自己自认为会用promise了,殊不知对其原理了解过于肤浅,自然这次面试也挂掉了。话不多说,本文将从0开始介绍如何实现一个promise,包括then,reje…
  8. 本周总结请查收(内附21道前端面试题)本周发起了一个100天前端进阶计划,每天一个知识点,搞明白背后的原理,这是第一周的总结,请注意查收。
  9. 2020年,你必须知道的JS数组技巧 在Javascript中,数组是一个重要且常见的知识点,我们经常将数据存储在数组中。作为一名Javascript工程师,数组必须要运用自如。这篇文章,向大家展示了在日常开发中,数组有哪些奇淫技巧值得关注和学习,让我们开始吧! 1.去重 这也是一道常见的面试题,怎么对JS的数组去重。在ES6的时代,有个非常快速且简单的方法…
  10. Vue 底层编译实现kvue源码 {代码…} compile源码 {代码…} 测试代码 {代码…}
  11. 深入理解js闭包 在JS高程上,是这样介绍闭包的: 闭包 是指有权访问另一个函数作用域中的变量的函数。比如下面这个最简单的例子: function returnf() { var a = 1; return function f() { console.log(a); } } 复制代码 在f中可以访问returnf函数中的a变量,所以这样就创建了一个闭包。当我们用变量接到f函数的时候,就可以…
  12. JS-Web-API(二):事件 const btn = document.getElementById(‘btn1’) btn.addEventListener(‘click’, event => { console.log(‘clicked’) }) 复制代码 // 通用的绑定函数 function bindEvent(elem, type, fn) { elem.addEventListener(type, fn) } const a = document.getElementById(‘link1’) bindEvent(a, ‘click’, e => { …
  13. 手写Ajax 【每日一题系列20200308】 作者:王二狗 博客: 掘金 、 思否 、 知乎 、 简书 、 CSDN 点赞再看,养成习惯,每日一题系列会一直更新下去,你们的支持是我持续分享的最大动力:kissing_heart: 这算是一道比较常规的考题了,下面给大家总结了两个版本,一个是完成版,适合记忆力比较好的同学,还有一版是简化版,如果你觉得需要…
  14. JS-Web-API(三):Ajax // 初始化实例 const xhr = new XMLHttpRequest() // 第三个参数true则为异步 xhr.open(‘GET’,’url’, true) xhr.onreadystatechange = function () { // 这里函数异步执行 if (xhr.readyState === 4) { if (xhr.statusCode === 200) { console.log(xhr.responseText) } else { …
  15. Vuex源码解析四及对比Redux
  16. Decorator设计模式以及在js中的使用 上次说到 mixins模式在js中的应用 ,今天想要再说一说装饰器模式。 装饰器就是在不改变原有对象的基础上动态的添加一些额外的功能。这个定义让我联想到了Minecraft中的模组,游戏本身功能未发生任何改变,该出现的骷髅射手一个也不少,但是你的画面变得美丽清晰流畅了。装饰器就是这样的一个功能。 使用过ts的小伙伴…
  17. DvaJS入门课
  18. 「面试题」20+Vue面试题整理(持续更新) 「 观感度::star2::star2::star2::star2::star2: 」 「 口味:红烧猪蹄 」 「 烹饪时间:15min 」 从镜片的厚度和黄黑相见的格子衬衫我察觉到,面前坐着的这位面试官应该是来者不善。我像以往一样,准备花3分钟的时间进行自我介绍。在此期间,为了避免尴尬,我盯着面试官的眉毛中间,不过面试官明显对我的经…
  19. 用 HTML5 造个有诚意的 23D 招聘稿招聘对于一个公司来说是相当重要的一个环节,首先它影响着公司未来发展的趋势,其次它为公司注入新鲜血液,使公司更具有活力。当然在工业互联网,物联网大背景下诞生的 HT 也是需要注入新鲜的血液来进一步提升公…
  20. node.js BFF开发8个月的心路历程 忙碌的日子总是过得特别快,回头一看,我已经做node.js BFF开发8个月了,基本上没写过web前端的事情,做了大半年,写篇文章来记录一下我这大半年的心路历程。 初步规划 BFF 其实我刚进公司那会是做前端的,做B端前端开发,用react画页面,系统是一个持续做了一年多的,超过上百个模块的系统,画了2个月,项目人员…
  21. 手摸手从0实现简版Vue — (依赖收集) 接: 手摸手从0实现简版Vue — (对象劫持) 手摸手从0实现简版Vue — (数组劫持) 手摸手从0实现简版Vue — (模板编译) 前面我们实现了: 数据的劫持 模板解析 但是目前我们去更新数据,视图不能正常去更新,如何知道视图是否需要更新,是不是任意一组data数据修改都需要重新渲染更新视…
  22. 从脚手架开始学前端 【第5期】Vue脚手架搭建 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,通过 @vue/cli 搭建交互式的项目脚手架。 通过 @vue/cli + @vue/cli-service-global 快速开始零配置原型开发。 一个运行时依赖 (@vue/cli-service),该依赖: 可升级; 基于 webpack 构建,并带有合理的默认配置; 可以通过项目内的配置文件进行配置; 可以通过插件…
  23. 都2020了,也该会自己手写一个promise了 今天在看文章都时候发现了手写promise的要求,扪心自问,我靠,我居然一点思路都没有。这可不行,必须自己手撸一发,面的对不起自己的左右手。哎,又要学习,好累,不过还好,想想都2020了,还不会自己手写promise,着实有点垃圾,还是赶快搞起来吧。 promise的几点要求 什么是promise? promise解决的什么问…
  24. js的栈内存和堆内存 首先,我们应该对于栈内存和堆内存有一个大概的了解。存储在栈内存中的变量应该是大小固定并且不可扩展的。而存储在堆内存中的变量则灵活许多,可以动态增加或减少。通过理解js的栈内存和堆内存能够帮助我们理解很多js中的内容,下面我们正式开始。首先介绍一下js中的基本类型和引用类型。 二、基本类型和引用类型 …
  25. 前端必学必会-多媒体-本地存储-浏览器与服务器的交互-通信功能 大家好呀~ 我是想出去玩的哪吒。 最近关于疫情的好消息越来越多,生活开始回归正轨,大家也逐步进入工作状态了。话不多说,进行学习了。 下面我们就来看一看,邀请掘友们的点赞留言。 多媒体 多媒体,你想到了什么?我想到了 video 元素和 audio 元素。 学习元素的知识点,涉及属性,方法,事件。在HTML5出…
  26. Go Web 编程–如何确保Cookie数据的安全传输Cookie(也叫Web Cookie或浏览器Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。通常,它用于告知服务端两个请求是否来自同一浏…
  27. 玩转webpack笔记 基础:核心概念和开发技巧 转换ES6 转换JSX CSS前缀补全/预处理器 压缩混淆 图片压缩 a.2 演变历史 ant+YUI Tool–> grunt(IO性能问题)–> gulp(结果存内存,快)–> webpack / parcel webpack优势 社区活跃 配置灵活和插件化扩展 官方更新快 a.3 初识webapck4.0 默认配置文件: webpack.config.j…
  28. 用nodejs,实现base64和png文件相互转换 前天浏览技术博客,看到大厂面试题型(来源前端宇宙公众,最近很吃这个安利哈哈哈)中有使用nodejs实现base64和图片文件相互转换的例子,刚好近期要开发这个功能,暂时用博客记录下来,下周开发完成再做一个补充。 1. 将base64 转换为图片文件,这里举例用的png文件 const fs = require(‘fs’); const path = ‘xxx/’+ D…
  29. Java 缓存规范中文版 (JSR-107) JSR107中文版(非官方) 最近在学缓存这块,没找到现成的中文文档,翻译一份给大家。最终版有多个,这里翻译的是JSR107 Specification 1.1.1 Maintenance Release – Google Doc。 本文内容仅限于学习使用,为了便于理解,翻译并不是单词对汉语的直译,建议阅读时和英文原文进行对照。 完结总…

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

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


关注我

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

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

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