js权威指南中的记忆函数function memorize(f){ var cache = {}; return function(){ //为什么key要这样赋值,如果arguments.length + arguments.join(",")这样写会报错 var key = arguments.length + Array.prototype.join(arguments, ","); if(key in cache) return cache[key]; //apply()第二个参数是数组,arguments在这可以当作数组传递参数,那为什么在上面不能使用arguments.join(",") else return cache[key] = f.apply(this, arguments); }}function gcd(a, b){ return a + b;}var gcdmemo = memorize(gcd);gcdmemo(1, 2);
添加回答
举报
0/150
提交
取消