这篇文章阐述的是一种函数式编程(functional-programming)设计模式,我称之为惰性函数定义(Lazy Function Definition)。我不止一次发现这种模式在JavaScript中大有用处,尤其是编写跨浏览器的、高效运行的库之时。
热身问题
编写一个函数foo,它返回的是Date对象,这个对象保存的是foo首次调用的时间。
方法一:上古时代的技术
这个最简陋的解决方案使用了全局变量t来保存Date对象。foo首次调用时会把时间保存到t中。接下来的再次调用,foo只会返回保存在t中的值。
[url=http://www.1sucai.cn/article/12322_2.htm]2[/url][url=http://www.1sucai.cn/article/12322_3.htm]3[/url][url=http://www.1sucai.cn/article/12322_2.htm]下一页[/url][url=http://www.1sucai.cn/article/12322_all.htm]阅读全文[/url]