Ruby's Louvre

每天学习一点点算法

导航

2009年11月14日 #

JavaScript 缓存函数

摘要: 在我《惰性函数》一文引起一些争议,有人总是把惰性函数与缓存函数(Memoization)混为一谈。虽然都是缓存了结果,但最大的区别是一个改写函数本身,一个没有。那我就说一下缓存函数吧。简而言之,就是把上次运算的结果放到一个数组或对象中。拿什么做试验好呢?就拿那个Fibonacci数列吧,估计IE6会比较呛,一般5秒运算不了就假死了。我们先看消耗时间,再看结果。一直接用递归实现: function ... 阅读全文

posted @ 2009-11-14 22:10 司徒正美 阅读(3895) 评论(2) 推荐(2) 编辑

CSS Position Fixed for IE6

摘要: 逛mootools核心成员Thomas Aylott的博客看到,不过有点标题党了,实际效果并没有那么灵光,只是定义四个类,分别用来固定视口的上下左右。很遗憾,它无法解决与top,bottom,left,right并用的问题(见例子)。它利用到IE8已经废弃的expression来计算页面的大小,从而固定我们想固定的元素。里面用到一技巧,就是给html或body元素添加一张背景图片,并设置backg... 阅读全文

posted @ 2009-11-14 20:28 司徒正美 阅读(3087) 评论(1) 推荐(1) 编辑

javascript wrapper函数

摘要: 在设计javascript的继承体系时,有一个重要需求,方法链。通俗地说,说是在方法中调用父类的同名方法。类似java的this.super().method()。如何把父类的同名方法包装到子类中呢?这就要用到wrapper函数。之所以叫wrapper,而不是wrap,因为它比wrap更加wrapper。比如像Ext那种深度继承的结构中,如果父类没有找祖父,祖父没有找曾祖父,沿着原型链层层上溯,以... 阅读全文

posted @ 2009-11-14 16:15 司徒正美 阅读(7193) 评论(3) 推荐(2) 编辑