摘要:
科里化定义如下: 首先将一批函数转入一个函数(然后这个函数返回一个新的函数),这中形式就叫“做科里化”(currying) 上面这个例子看懂了吗? curry这个函数做的事情,是将函数中的this和arguments缓存在了闭包之中。 当split函数调用curry的时候,curry中的this就是 阅读全文
摘要:
js创建一个构造函数,会默认在原型链上添加一个constructor的属性,它保存了构造函数内的代码。 一般情况下我们不需要去改动它,但是有些时候我们会不经意的改写它。 比如下面这个例子: 原型链是赋值操作而不是添加属性,所以把默认的constructor属性覆盖掉了,我们可以这样解决: 或者: 还 阅读全文
摘要:
js原型链继承有很多种实现的方式,主要介绍以下3种: 一、拷贝继承: 顾名思义拷贝就是利用for in 或者jq的extend,把一个构造函数的prototype循环遍历赋值给另一个构造函数的prototype,再把构造函数内的属性也一起继承过去 二、类式继承: 三、原型继承: 利用es5新特性Ob 阅读全文