冒泡排序 发表于 2019-04-10 | 分类于 算法 冒泡排序是最简单的一种排序方法,正因为它很简单,所以受到了面试官的青睐,成了程序员必会的内容。 它的思想是通过两次循环,如果前一个比后一个小的时候那么两者互换位置(假设是从小到大排序)。就这样大的数就会像水中的气泡一样从前面逐渐走到后面,这也正式名字的由来。 这里给出冒泡排序的实现,里面使用了fla ... 阅读全文 »
防抖与节流 发表于 2019-04-09 | 分类于 JavaScript 防抖 防抖:多次触发某个函数,以最后一次函数的执行为准。 也就是说给定了一个时间n,如果在n毫秒内重复执行某个函数那么将不会执行,如果n毫秒内不再触发这个函数,那么将执行该函数。表现的效果是如果一直触发函数,那么只有最后一次才会执行。 简单实现: 12345678910111213function ... 阅读全文 »
JavaScript易错点(长期更新) 发表于 2019-04-08 | 分类于 JavaScript 下面输出的是什么12345678function F (){};F.prototype = null;var o1 = new F();console.log(F.prototype);console.log(o1.__proto__);var o2 = Object.creat ... 阅读全文 »
CSS3卡片光照效果 发表于 2019-03-25 | 分类于 CSS 我们今天要使用CSS3实现下面这样的卡片光照效果: 实现首先给出HTML结构: 1<div class="hover-light">卡片光照效果</div> 然后给出初始的CSS结构: 12345678910.hover-light{ ... 阅读全文 »
CSS3实现彩色炫酷文字 发表于 2019-03-19 | 分类于 CSS 我们今天要使用CSS3实现下面这样的酷酷的效果: 要实现这样的效果只需要三步: 设置渐变背景色; 按照文字拆分背景; 去掉文字本身的颜色; 设置动画。 我们也按照这个步骤一步一步的写出样式,首先给出HTML结构: 1<div class="color-text"&g ... 阅读全文 »
如何判断一个对象是不是数组 发表于 2019-03-17 | 分类于 JavaScript 使用instanceof 1234// 如果返回true那么说明就是数组if (value instanceof Array){} 使用Object.prototype.toString 1234// 由于数组重写了toString方法,我们可以使用Object.proto ... 阅读全文 »
《JavaScript函数式编程指南》读书笔记 发表于 2019-03-10 | 分类于 读书笔记 老规矩,这篇文章记录书中的重点部分,外加自己的见解,不会对全书进行复述,但记录的绝对是最重要的部分,想要了解跟多内容请看原版图书。 函数式编程的目标:使用函数来抽象作用在数据之上的控制流与操作,从而在系统中消除副作用并减少对状态的改变。 纯函数所具有的性质: 仅取决于提供的输入,而不依赖于任何 ... 阅读全文 »
《JavaScript数据结构与算法》读书笔记 发表于 2019-03-10 | 分类于 读书笔记 这本书让我回顾了一遍大学时候学的数据结构。数据结构和算法是程序员最喜欢也是最痛苦的部分,这本书很轻松的描述了这部分东西,是一本很不错的书。这篇文章记录书中的重点部分,并不会对书中所有的内容都复述一遍,如果希望了解更多的内容可以去看看这本书。由于ES5和ES6思想基本上是相同的,这里只记录ES6的实现 ... 阅读全文 »
ES5中的继承 发表于 2019-03-04 | 分类于 JavaScript 面向对象的三大特性是:封装、继承、多态。其中继承是最难理解的,也是最重要的部分。JS中本身没有专门继承的语法,它是使用各种代码的模拟来实现的。即使ES6有了正真的继承语法,其本质也是ES5中继承的语法糖。目前ES5继承最被人津津乐道的就是尼古拉斯的著名书籍《JavaScript高级程序设计》中记录的 ... 阅读全文 »
ES5面向对象基础 发表于 2019-03-03 | 分类于 JavaScript 面向对象的知识时JS中的一个比较重要的概念,我们今天学习一下ES5面向对象的基础内容。 一、 创建对象 工厂模式 12345678910function createPerson(name){ var o = new Object(); o.name = name; o. ... 阅读全文 »