看《js的设计模式与开发实践》一书,由于自己小白,有一段代码实在是没看懂,求大神解答!代码的功能是想实现数组的连乘,然后对于相同的参数来说,每次都进行计算比较浪费,于是提出了以下代码:
var cache = {};
var mult = function() {
var args = Array.prototype.join.call(arguments, ',');
if (cache[args]) {
return cache[args];
}
var a = 1;
for (var i = 0, l = arguments.length;i < l;i++) {
a = a * arguments[i];
}
return cache[args] = a;
};
alert(mult(1,2,3)); //输出6
主要不懂的地方就是cache是个对象,然后cache[args]是什么意思呢?
以及return cache[args] = a;这句也不是很懂。
慕盖茨4494581
忽然笑
相关分类