有人可以在其定义内解释调用函数吗?

时间:2019-06-21 01:34:37

标签: javascript

此函数返回嵌套数组(字符串)中字符串的出现率。我不理解的一行评论如下,当loop(arr, name)递增到result变量时,似乎在其内部被调用。

我从未见过在其定义内调用过的函数。这在JS中正常吗?

var names = ["bob", ["steve", "michael", "bob", "chris"]];

function loop(arr, item) {
  var result = 0;
  for (var i = 0; i < arr.length; i++) {
    if (arr[i] instanceof Array) {
      result += loop(arr[i], item); // What does this increment result to?
    } else {
      if (arr[i] == item) {
        result++;
      }
    }
  }
  return result;    
}


var result = loop(names, "bob");
console.log(result); // 2

0 个答案:

没有答案