前端也需要好好的精进自己的算法

2018-08-01
阅读 1 分钟
18.6k
算法 前端发展的再快,也不要忘记精进自己的算法,算法是灵魂和核心。我会把我刷过的算法题总结归类,不断完善。欢迎大家关注。 数组和堆栈 数组去重 旋转数组 如何快速找出两个数之和等于某一个值的两个数? 快排 排序算法大总结 快速找到数组中的最大值 多维数组的展开 二分查找 有效的括号 递归 二叉树的层次遍历(广...

利用GitHub制作在线炫酷简历

2018-07-27
阅读 1 分钟
5.2k
首先我们先体验一下炫酷简历。然后决定我们要不要使用。 [链接] 如何使用本项目部署你自己的在线简历 1. 书写简历 在src文件夹里面有个config文件夹,config文件夹下面有个work.txt。 此文件即是简历文件,改此文件,书写你的简历。 2. 部署项目 fork本仓库,然后克隆你fork的仓库到你的本地,运行以下的命令 {代码...} ...

Vue源码中的nextTick的实现逻辑

2018-07-18
阅读 6 分钟
3.8k
我们知道vue中有一个api。Vue.nextTick( [callback, context] )他的作用是在下次 DOM 更新循环结束之后执行延迟回调。在修改数据之后立即使用这个方法,获取更新后的 DOM。那么这个api是怎么实现的呢?你肯定也有些疑问或者好奇。下面就是我的探索,分享给大家,也欢迎大家到github上和我进行讨论哈~~

JavaScript 深拷贝

2018-07-02
阅读 4 分钟
22.4k
js深拷贝是一件看起来很简单的事情,但其实一点儿也不简单。对于循环引用的问题还有一些内置数据类型的拷贝,如Map, Set, RegExp, Date, ArrayBuffer 和其他内置类型。处理起来并非像想象的那么简单。下面终结一下在实际的项目中,使用的一些深拷贝的方法的优缺点。大家也可以关注我的GitHub,互相交流学习进步。

关于元素大小位置、鼠标位置相关属性的总结

2018-06-23
阅读 1 分钟
2.1k
元素大小位置相关属性的总结 clientXXX clientLeft clientTop clientWidth 表示内容区域的宽度,包括padding大小,但是不包括边框和滚动条 clientHeight 表示内容区域的高度,包括padding大小,但是不包括边框和滚动条 一图胜千言: 再线测试:[链接] offsetXXX offsetLeft offsetTop offsetWidth offsetHeight offsetPa...

react源码解析之stack reconciler

2018-05-24
阅读 20 分钟
6.3k
关于源码解读的系列文章,可以关注我的github的这个仓库, 现在才刚刚写,后续有空就写点。争取把react源码剖析透学习透。有不正确的地方希望大家帮忙指正。大家互相学习,共同进步。

手写一个PromiseA+的实现

2018-05-23
阅读 10 分钟
3k
手写一个PromiseA+的实现。注意这里只是模拟,实际上原生的promise在事件队列中属于microTask。这里用setTimeout模拟不是特别恰当。因为setTimeout是一个macroTask。

关于BFC的总结

2018-05-21
阅读 5 分钟
2.3k
虽然工作这么多年了,但是如果让我直接解释一下什么是BFC的时候,还是感觉有点不知道怎么准确的表达,下面就翻翻文档,总结一下,加深一下认识吧。大家也可以关注我的GitHub后续的更新

开箱即用的多页面webpack脚手架

2018-05-16
阅读 2 分钟
8.6k
最近接手一个新项目,公司官网,官网为了对爬虫友好,不合适做单页面,更不大适合用react,vue这样的框架。本来觉得几个简单的页面还需要配置webpack挺麻烦,直接ES5,css,html写写就ok,可是一旦下手开始写,离开了前端的各种得心应手的工具,回到了刀耕火种的时代。痛不欲生,即使写完了,以后的迭代维护同样痛苦。 ...

js中的数据类型和数据类型转换

2018-05-15
阅读 1 分钟
2.2k
js中的数据类型 原始类型 String Number Boolean Null Undefined Symbol 对象 Object 显式类型转换 显示类型转换是通过调用下面这三个函数来进行的。 Number( ) String( ) Boolean( ) 1. Number( ) 数值: 转换之后还是数值字符串: 如果可以被解析为数值,则转为数值,否则转为NaN,空字符串转为0布尔值: true转成1, ...

DOM3中的自定义事件

2018-05-07
阅读 2 分钟
2.2k
DOM3级还定义了自定义事件,自定义事件不是由DOM原生触发的,它的目的是让开发人员创建自己的事件。要创建的自定义事件可以由createEvent("CustomEvent"); 返回的对象有一个initCustomEvent()方法接收如下四个参数。

ES6 中的Class中的关键字super

2018-04-20
阅读 2 分钟
2.5k
复习一下ES6 中的关于类的语法 定义一个类 {代码...} 相当于下面ES5的这样的写法 {代码...} 类的继承 {代码...} 相当于下面ES5的写法 {代码...} super登场 从上边的例子可能已经领略了super的一些用法了。但是还不全面。super在类的继承中,有两个用法 作为函数使用,如上边的例子中的super() 作为对象使用, 如super.ty...

抽象语法树(Abstract Syntax Tree)

2018-04-15
阅读 2 分钟
18k
一般来说,程序中的一段源代码在执行之前会经历下面三个步骤1 分词/词法分析这个过程会将由字符组成的字符串分解成有意义的代码快,这些代码块被称为词法单元。例如 var a = 4;会被分解成 var、a、=、4、;