10月 30 2019
Categories: JavaScript Tags: JavaScript, apply, bind, call

1分钟关键速记相同点: 都可以改变函数执行上下文。 第一个参数都是函数执行上下文 不同点: ...

8月 15 2019
Categories: 图片压缩 Tags: 前端优化, 工程化

前端历史关注的技术指标一个面试常见问题 ...

8月 02 2019

前言前段时间自己做了一个前端脚手架工具 Zeus,通过 cli 命令去搭建前端框架,目前支持了 web, node 工具类,chrome 扩展插件等模板。其实原理都是一样的,根据不同的配置去 down 不同的 template,以及执行相应的 script。在做的过程中发现模板的搭建还真不是一个容易的活,踩过了各种坑,但同时对 webpack, rollup 这些工具也有了深入的了解。所以就在想 ...

7月 31 2019
Categories: 算法 Tags: LeetCode, 算法

环形链表 II LeetCode#142 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。说明:不允许修改给定的链表。 ...

7月 14 2019
Categories: 算法 Tags: LeetCode, 算法

定义 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。 相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点... ...

6月 17 2019
Categories: 前端性能优化 Tags: 前端优化

前端性能优化 【前言】之前面试一直被问到一个问题就是前端有哪些性能优化的点,但是每次回答自己都觉得不满意 ( 1. 回答不完整,有所遗漏 2. 回答没条理,想到哪就说到哪 )故开此一篇梳理一下。 具体优化方向可以根据浏览器 performance api 结合 Chrome DevelopTool Performance 面... ...

3月 08 2019

图片压缩背景最近业务中遇到了用户抱怨说上传图片时间太长,感觉上是系统特别慢。 所以打算对图片上传进行优化,前端压缩后再上传文件。 方案经过搜索后目前大家常用的... ...

2月 19 2019
Categories: JavaScript Tags: JavaScript, Lodash, concat

Lodash 源码阅读(四)concat该方法的效果同 Array.concat var array = [1];var other = _.concat(array, 2, [3], [[4]]);c... ...

2月 18 2019
Categories: JavaScript Tags: JavaScript, Lodash, compact

Lodash 源码阅读(三)compact将一个数组变为紧凑数组 Creates an array with all falsey values removed. The values false ...

2月 14 2019
Categories: JavaScript Tags: JavaScript, Lodash, chunk, slice

Lodash 源码阅读(二)slice参数 array 为 数组类型, start 和 end 数字。 输出数组第 start ...

1月 25 2019
Categories: JavaScript Tags: JavaScript, Lodash, debounce

Lodash 源码阅读(一)前言小絮叨距离上次写博客已经过了大概 4 个月了,自从到了贝壳业务越来越多,一到周末就累得什么也不想干。最近刚忙完 H5 的项目(😝后续可以来一篇企微浏览器使用蓝牙的小总结感觉很有意思)又接近年关 OP 封板... ...

8月 27 2018
Categories: JavaScript Tags: EventEmitter, JavaScript

上周看了 EventEmitter 的源码,这篇博客打算做个小结(不是 Node 的源码,只是 github 上搜到的星星最多的项目,还有个项目 EventEmitter3 项目作者目前依然在维护,主打性能,看起来非常不错) ...

8月 23 2018
Categories: Tags: 前端, 生活

面试小总结?面试题暂且不说,技术相关都差不多。 面试结果:今年五月面了 3 家公司,两家给了 offer(有点记不得名称), 由于薪资不符合预期,遂罢。今年 8 月 面了 5 家公司,4 家给了 offer(XC, SK, LJ, HHXX, JZKJ)。 重点在于面试的这些家只有一家一线互联网公司,很多大公司公司连简历这关都过不了。 总结下来有 3 点原因吧,为什么... ...

8月 20 2018
Categories: Tags:

这是一篇我对数码产品的小随笔吧。 一切源于一个 2016 年底(12月吧)买的一部 iPhone 7。当时想着可以多用几年所以还上了 128G,但是上个星期它几近退休,今早决定,让他退休吧~ 我对数码产品比较喜欢尝鲜,而又不大爱惜,大学时几乎是一年一部手机,还是感叹我的第一部手机 魅族 M9 用了将近 4 年,从 11 年一直用到大二下学期,直到后来电池坏掉了才让它退休。(可能用的比较小心吧) 之后又买了 魅族MX4,诺基亚 Lumia 930, 魅蓝 M3, iPhone 7。 除了第一部手机我用的比较仔细,其余的手机用的都... ...

7月 24 2018
Categories: Tags:

... ...

7月 12 2018
Categories: JavaScript Tags: JavaScript

之前也有总结和重新学习 String 的所有方法。长时间不去记忆又有所忘记。今天用博客的方式记录下来,最后用一个思维导图的形式记下来串联起来,巩固自己的记忆。 属性String.length返回一个字符串的长度。这... ...

7月 10 2018
Categories: 闭包与作用域 Tags: JavaScript

变量的作用域闭包与 JavaScript 变量的作用域息息相关。要理解闭包就要先理解 JavaScript 变量作用域。 变量的作用域有两种: 一种是全局的另一种是局部的。 var a = 1; var n = 9; function foo() { var a = 0; b = 2; var c = 1; cons... ...

7月 01 2018
Categories: CSS, BFC Tags: CSS

哇哦, BFC经常用到和听到 BFC, 但是对于具体的 BFC 有哪些情况可以触发了解的还不是很全面,今天整理下对于 BFC 的理解。 What’s BFCBFC (Block Formatting Context) 即块级格式化上下文... ...

6月 21 2018
Categories: React Tags: Q&A, React

React diff 算法浅析之前在学习 React 的时候了解到 React 的 diff 算法可以帮助我们实现最小化的 DOM 操作。 今天我们来看看 React 的 diff 算法... ...

6月 19 2018
Categories: 算法 Tags: LeetCode, 算法

LeetCode 算法题(第一弹)之前小伙伴面试遇过这个算法题。 让我想到了一句话 前端程序员,首先也要是一个程序员。 ... ...

6月 12 2018
Categories: 算法 Tags: 字符串全排列, 算法

字符串的全排列问题昨天小伙伴面试遇到了这样一题。 要求给出一个函数,输入是一个字符串比如 "abc" 要求输出这个字符串中所有字符的所有不重复的排列组合。也就是"abc" "... ...

6月 07 2018
Categories: MongoDB Tags: MongoDB

背景最近在公司搞了个聊天室,用来和我家小可爱说悄悄话❤。因为公司的 Skype 等会被监控啦。 初期版本特别简陋,用户信息是存放在一个... ...

5月 29 2018
Categories: Q&A Tags: Q&A

为什么大家都说 DOM 操作很慢之前在学习 React 的时候看到 React 的优势的时候就说, React 的 diff 算法,会“最小化”处理 DOM。... ...

5月 22 2018
Categories: React Tags: React

ReactReact是Facrbook内部的一个JavaScript类库,已于1年开源,可用于创建Web用户交互界面。它引入了一种新的方式来处理浏览器DOM。那些需要手动更新DOM、费力地记录每一个状态的日子一去不复返了——这种老舅的方式既不具备扩展性,又很难加入新的功能,就算可以,也是有着冒着很大的风险。React使用很新颖的方式解决了这些问题。你只需要声明地定义各个时间点的用户界面,而无序关系在数据变化时,需要更新哪一部分DOM。在... ...

5月 10 2018
Categories: CSS 居中 Tags: CSS, 居中

水平垂直居中今天看了水平垂直居中的各种实现方式。 我整理成了思维导图的形式。 下面是这是 xmind 文件 水平垂直居中.xmind ...

5月 08 2018
Categories: JavaScript 算法 Tags: JavaScript, 算法

对于JS实现排序的 功能 来说本不需要什么算法。就用自带的函数 Array.sort() 然后指定处理函数就好了。如下: arr.sort(function (i, j){ return i - j; }); 冒泡排序 ...

5月 04 2018

网页加载速度优化背景最近做项目的时候,原本打开比较快的网页由于 CUP 的性能问题导致一样的代码在另一块芯片上打开速度明显变慢。 这套代码是台湾的同事做的,由于某些原因做了一半转接到我们手上。原本 Broadcom 芯片的机器网页打开速度比较快,换到只... ...

4月 25 2018

Generator4. for…of 循环for...of 循环可以自动遍历 Gnerator 函数生成的 Iterator 对象,而且这个时候不需要调用 next ...

4月 21 2018

GeneratorGenerator 是 ES6 提出的一种异步解决方案。 形式上 Generator 函数和普通函数有两个不同点。 function 关键字和函数名之间有一个星号,如: function* demo; 内部函数使用 yield 表达式,... ...

4月 20 2018
Categories: JavaScript ES6 Tags: JavaScript, Promise

ES6 PromisePromise 是 ES6 的异步编程解决方案。 Promise 有 3 种状态 pending (正在进行)fulfilled (成功) rejected (失败)。 只有异步操作的结果可以决定状态。 其中 这3种状态的转换关系是 p... ...

4月 18 2018
Categories: GitHub Tags: hexo

Gitpage 配合 Hexo 搭建自己的博客之前面试感觉自己的技术沉淀还是不够。目前打算用博客记录自己的学习心得。之前一直是用云笔记记录。现在改用gitpage + hexo,一方面GitHub 的提交记录方便自己查看更新状态,能够对自己有个审视。另一方面,放在github上方便别人阅读查看和共享。 ...