javascript的这段代码看不懂,myFunction()和forEach()

发布网友

我来回答

3个回答

热心网友

传了,上面的var numbers = [45, 4, 9, 16, 25];这个数组保存在了numbers 变量里面。
先说一下orEach() : 其实orEach() 方法就是用于调用数组的每个元素,并将元素传递给回调函数。那么numbers.forEach(myFunction); 不就有传递参数了吗?
numbers.forEach(myFunction);的意思就是把numbers这个数组的元素传递给myFunction这个函数。追问numbers.forEach(myFunction);
这句实在是看蒙了哇,按这句的意思,myFunction不成了forEach()的参数么?
目前这个状态,myFunction()哪儿来的参数哇?

追答我上面说了,orEach() 这个方法就是用于调用数组的每个元素,并将元素传递给回调函数。
numbers.forEach(myFunction);就是相当于:myFunction(numbers[index], index, array){} 除了第一个value是必须的,其他都是可选的。
你再看下面这样的写法:
numbers.forEach(function myFunction(value , index , array){ })
这里value 就是数组元素,index 就是数组下标,array当前元素所属的数组对象。
有这么难理解吗?

热心网友

这是js foreach的固定用法 ,value为遍历的当前元素,index为当前索引,array为正在操作的数组,这种写法只要把函数名写进去就行

正常是这么写

array.forEach(function(value , index , array){})追问value , index , array 这三个参数不是myFunction的吗?和forEach有什么关系啊?

追答这是foreach自己规定的 ,你里面写的函数,第一个参数就是当前元素,就是你写在foreach里面的函数,他自己规定了你就要这么写,不需要懂

热心网友

你自己定义了一个方法:myFunction,三个参数 value index array.
而JavaScript Array.forEach()这个原生方法可以接收三个参数。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com