Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
解释下面的Javascript代码_Javascript - Fatal编程技术网

解释下面的Javascript代码

解释下面的Javascript代码,javascript,Javascript,我是js的新手,我一直在关注Mozilla开发者网站。在函数部分,我似乎无法理解以下内容 function map(f,a) { var result = [], // Create a new Array i; for (i = 0; i != a.length; i++) result[i] = f(a[i]); return result; } 特别是,这一行“结果[i]=f(a[i]) 来自Mozilla: 将函数作为参数传递给另一个函数时,函数表达式非

我是js的新手,我一直在关注Mozilla开发者网站。在函数部分,我似乎无法理解以下内容

function map(f,a) {
  var result = [], // Create a new Array
      i;
  for (i = 0; i != a.length; i++)
    result[i] = f(a[i]);
  return result;
}
特别是,这一行“结果[i]=f(a[i])

来自Mozilla: 将函数作为参数传递给另一个函数时,函数表达式非常方便。下面的示例显示正在定义映射函数,然后使用匿名函数作为其第一个参数进行调用

你能解释一下吗

这里有一个链接供参考。

这段代码适用于数组“a”函数“f”的每个元素,并返回数组“result”,其中包含“a”中每个元素运行函数“f”的结果

对不起,我有一个递归:)

实际上它可以这样使用:

var array = map(function(val){ return val + 1; },[1,2,3,4,5]);
在“数组”中,您将获得以下值:

[2,3,4,5,6]
结果是一个数组,索引i处的元素被分配一个函数调用的结果,该函数调用采用参数a[i]

上面一行中的f是一个匿名函数,它作为第一个参数解析为map函数。f将在代码中的其他地方用以下语法定义

function(value) {
    return result. 
}
上面示例中的调用代码如下所示

var array = map(function(value) { return result; },[1,2,3,4,5]);
我会在这里阅读匿名函数,这可能会有所帮助。

这里没有递归。除非你以f.no的形式传递
map
,否则递归就在我的脑海中:)在我写的文字中。函数中根本没有递归。只是开个玩笑,但在我看来,“f”是映射函数的参数时,它在这里又是什么呢?@user3259232您可以将函数作为函数的参数发送。是的,没错。您可以在JS中使用type function创建变量,并将它们作为参数传递给所有人以获得帮助!
var array = map(function(value) { return result; },[1,2,3,4,5]);