●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●谁能帮忙分析一下Memoize这个函数的执行流程???有点不一般哦~~~~~~~~~~
先运行()()中的, function Memoize(o, p) {
var f = o[p], mf, value;//赋值,
var s = function(v) {return o[p]=v||mf};//赋值,这里的字面量s仅仅是个function的指针.
(
(mf = function() {
(s(function(){return value})).reset = mf.reset;
return value = f.apply(this,arguments); //此处修改过,允许接受参数
}).reset = s
)();
/*
这里立即执行()()中第一个()中的方法 ;下面是执行顺序 (s(function(){return value})).reset = mf.reset;
value = f.apply(this,arguments);
mf =function() {return value;}
mf.reset = s ;
*/
}
var f = o[p], mf, value;//赋值,
var s = function(v) {return o[p]=v||mf};//赋值,这里的字面量s仅仅是个function的指针.
(
(mf = function() {
(s(function(){return value})).reset = mf.reset;
return value = f.apply(this,arguments); //此处修改过,允许接受参数
}).reset = s
)();
/*
这里立即执行()()中第一个()中的方法 ;下面是执行顺序 (s(function(){return value})).reset = mf.reset;
value = f.apply(this,arguments);
mf =function() {return value;}
mf.reset = s ;
*/
}
解决方案 »
- javascript和flash的交互
- 一js做的时钟,有些地方看不懂(已列出),运行出结果不正确,请帮忙,谢谢
- div+css+js实现按钮效果,遇到棘手问题,请高手帮忙。在线等,给分。。。
- 数组之间的类型转换
- 求助:javascript,紧急!!!
- 怎麼用css 設置 td 的 align valign 屬性,要設置幾種,分不同的需要引用,不能用 td { }格式!! 謝謝!!!
- 禁止后退的代码怎么写
- 问题集锦~~
- 如何用javascript做toolbox?或者说,做一个类似画图的东东?谁能告诉我网上有没有这类的代码?
- html li标签默认选择第几个的问题
- 为什么点击的时候没有反应呢?
- iframe中的表格只左右移动,并且不管怎么左右移动左边都紧靠着iframe的边界,不留下白色的空隙
var fib = {
temp: function(n){
...
}
楼主应该明白这两句的意思吧剩下的就是那个长句了
其实只要定义几个临时变量,按照()的先后次序执行,一步一步分析就可以了