我需要多次调用javascript函数而不更改它以前的值。 我有一个名为json的图标,里面有15个图标 我正在使用switch语句来调用各个图标的功能。 当地图图标出现时我有问题,因为地图图标通常将所有图标分组,这意味着它甚至可以有另一个地图图标。以下是我的代码。
for(var i = 0;i<icon.length;i++) {
switch(icon.type) {
case 1:
display();
case 2:
map();
..
}
}
地图功能就像
function map() {
for(var i = 0;i<icon.length;i++) {
switch(icon.type) {
case 1:
display();
case 2:
map();
..
}
}
}
如果map函数再次调用其自己的函数,则主映射函数中的值将覆盖。我不知道如何在不改变以前的值的情况下调用它自己的函数。 还有其他方法可以达到这个目的吗?
答案 0 :(得分:0)
我不知道我是否理解你的问题,但你可以尝试使用称为memoization的技术。它用于缓存先前计算的值的结果,因此可以避免重新计算的需要。
这是一个简单的例子,如何做到这一点
function isPrime(value) {
if (!isPrime.anwers) isPrime.answers = {};
if (isPrime.answers[value] != null) {
return isPrime.answers[value];
}
var prime = value != 1; // 1 can never be prime
for (var i = 2; i < value; i++) {
if (value % i == 0) {
prime = false;
break;
}
}
return isPrime.answers[value] = prime;
}