●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●●谁能帮忙分析一下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 ;
*/
}
解决方案 »
- 有做过Ext3的散点图的大虾么?
- 征集IE下WEB开发比较好用的插件
- 关于link的问题大家来帮忙啊!
- 两个问题,看看吧
- js 参数传递
- 怎么用javascript取得当前页面的url路径?
- 关于showModalDialog的两个问题。
- 如何用正则表达式限制输入数字、括号和-
- 使用innerHTML属性写页面的问题。
- 前两天看见ibm机器的随机光盘里有一个html文件,点击里面的连接可以直接调用“计划任务”和“磁盘整理”,感到很好奇想知道是怎么实现的!!!!!!!!!!!!!!!!!!!!!!!!!
- 为什么点击的时候没有反应呢?
- iframe中的表格只左右移动,并且不管怎么左右移动左边都紧靠着iframe的边界,不留下白色的空隙
var fib = {
temp: function(n){
...
}
楼主应该明白这两句的意思吧剩下的就是那个长句了
其实只要定义几个临时变量,按照()的先后次序执行,一步一步分析就可以了