给定javascript代码中的return语句的简要说明

时间:2014-11-25 11:56:58

标签: javascript function return-value

任何人都可以在给定的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];

上述代码的返回值是什么?它在哪里?

1 个答案:

答案 0 :(得分:0)

如果您要询问代码的这一特定部分:

 if (isPrime.answers[value] != null) {
     return isPrime.answers[value];
 }

然后它将根据缓存的值(保存在答案哈希值上)返回value是否为素数。它是isPrime函数返回的值。