任何人都可以在给定的javascript代码中给出关于return语句的简要说明。 请你看看我的小提琴:http://jsfiddle.net/m6mxdt9u/
function isPrime(value) {
if (!isPrime.answers)
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;
}
assert(isPrime(5), "5 is prime!");
assert(isPrime.answers[5], "The answer was cached!");
function assert(value, desc) {
var resultsList = document.getElementById("results");
if (!resultsList) {
resultsList = document.createElement('ul');
document.getElementsByTagName('body')[0].appendChild(resultsList);
resultsList.setAttribute('id', 'results');
}
var li = document.createElement("li");
li.className = value ? "pass" : "fail";
li.appendChild(document.createTextNode(desc));
resultsList.appendChild(li);
}
我在这条线上挣扎:
return isPrime.answers[value];
上述代码的返回值是什么?它在哪里?
答案 0 :(得分:0)
如果您要询问代码的这一特定部分:
if (isPrime.answers[value] != null) {
return isPrime.answers[value];
}
然后它将根据缓存的值(保存在答案哈希值上)返回value
是否为素数。它是isPrime
函数返回的值。