JavaScript箭头函数语法
我正在学习JavaScript,一直在学习如何使用箭头函数语法,遇到了这个我不完全理解的问题,我觉得这将是问我问题的最好地方,因为我还没有找到关于这个问题的确切答案。下面是代码JavaScript箭头函数语法,javascript,arrow-functions,Javascript,Arrow Functions,我正在学习JavaScript,一直在学习如何使用箭头函数语法,遇到了这个我不完全理解的问题,我觉得这将是问我问题的最好地方,因为我还没有找到关于这个问题的确切答案。下面是代码 让bigNumbers=[100200300400500] let smallNumbers=bigNumbers.map(num=>num/100) 现在我的问题是,num来自哪里?这是存储运行代码时映射的新值的bucket吗?我知道我们创建了一个新变量,该变量将返回一个新数组,因为数组中的元素已被修改?我不太确定,这
让bigNumbers=[100200300400500]代码>
let smallNumbers=bigNumbers.map(num=>num/100)代码>
现在我的问题是,num来自哪里?这是存储运行代码时映射的新值的bucket吗?我知道我们创建了一个新变量,该变量将返回一个新数组,因为数组中的元素已被修改?我不太确定,这就是为什么我需要澄清的原因。谢谢您的时间。num
只是箭头函数的一个参数:
bigNumbers.map(num => num / 100)
…是以下内容的缩写,在功能上等同于:
bigNumbers.map((num) => {
return num / 100;
});
在您的示例中,使用Array
map()
方法,num
参数是在该实例中迭代的数组中的项
num
是一个函数参数(在您的例子中是一个方法属性;.map()
num
您可以随意命名。
这里最基本的是它所代表的内容。如果您查看一些文档,如
您可以看到第一个参数表示当前值,换句话说,就是当前迭代值
let smallNumbers = bigNumbers.map(num => num / 100);
也就是说
let smallNumbers = bigNumbers.map((num) => {
return num / 100;
});
这进一步转化为
let smallNumbers = bigNumbers.map((num) => {
return num / 100;
});
var smallNumbers = bigNumbers.map(function(currentValue) {
return currentValue / 100; // currentValue is the currently iterating value
});