Gulp+Jade页面开发自动化

如果要开发一个静态页面的网站,免不了有很多相同的部分,例如头部header,侧边栏aside,还有底部footer等等,如果要实现一个完整的页面开发,每次都要复制这些相同的代码,这样做起来也太机械了,[……]

阅读全文

使用Symbol创建私有属性

es6类中没有提供私有属性、私有方法这些概念,之前的写法,使用下划线表示一个方法是私有的,但是,在外部仍然是可以被访问到的,并没有起到真正私有的目的。

var Person = (function[......]

阅读全文

ES6中WeakMap的使用

WeakMap之前,首先说说es6中的Map

Map存储的是一个键值对,任何值都可以作为键或者是值才进行存储。所以,在需要保存键值映射关系时,可以使用Map来完成这些操作。Map接口上也提供了不[……]

阅读全文

简化原型访问

在es5中,如果想重写对象实例的方法,但是又需要调用与它重名的原型方法,该如何实现呢?

可以借助于Object.getPrototypeOf来实现。

例如如下两个对象

const person[......]

阅读全文

观察者与订阅者

观察者模式(Observer)又被称为发布-订阅者模式或消息机制,定义了一种依赖关系,解决了主体对象与观察者之间功能的耦合。

在之前的文章自定义事件二中有简单的介绍,本文中将会对其重新封装,详细如下[……]

阅读全文

js中的二叉树

二叉树(Binary Tree)是n(n>=0)个结点的有限集合,该集合或者为空集(空二叉树),或者由一个根结点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。

每个二叉树都有自己的根节[……]

阅读全文