在 JavaScript 中,[].forEach
以及 call()
都是非常有用的内置方法。它们可以帮助开发者更加高效地处理数组和函数,并使代码更加简洁易读。
1. [].forEach
[].forEach
是一个 forEach 循环语句,可以在数组的每个元素上执行指定的操作。例如,我们可以使用 forEach
来遍历数组并将每个元素打印到控制台:
----- --- - --- -- --- ---------------- -- ----------------- -- ------- - -- - -- -
此外,forEach
还可以接受第二个参数,该参数为每个元素在数组中的索引,如下所示:
----- --- - --- -- --- ---------------- ------ -- ------------------ --------- --------- -- ------- ----- -- - -- ----- -- - -- ----- -- -
注意:forEach
并不返回任何值,因此不能使用 return
中断循环。
2. call()
call()
是一种调用函数的方式,允许我们设置函数内部 this
指向的对象,并将参数传递给该函数。例如,假设我们有以下函数:
-------- ------- - ------------------- -- ---- -- --------------- -
我们可以使用 call()
来调用该函数,并将 this
设置为新的对象:
----- ------ - - ----- ------- -- ------------------- -- ------- ------ -- ---- -- -----
此外,call()
还允许我们将参数传递给该函数。例如:
-------- ----------- - ------------------- -- ---- -- ---------- - ---------------- ------- -- ------- ------ -- ---- -- ---
这里我们将 null
作为第一个参数传递给 call()
,因为我们不需要设置 this
的值。
3. 示例代码
下面是一个示例代码,展示了如何将 forEach
和 call()
一起使用,以便在数组中遍历并调用带有自定义 this
值的函数:
----- ------- - --- -- --- -------- ------------------ - ---------------- - -------- - ------------------------ -------- - ----------------------- --- --- -- ------- - -- - -- -
在这个例子中,我们首先定义了一个 multiplyBy()
函数,它将数字乘以传入的因子,并打印结果。然后,我们使用 forEach
循环遍历数组 numbers
,并在每个元素上调用 multiplyBy.call()
。在这里,我们将当前循环的数字作为 this
参数传递给 multiplyBy()
,以便将其与我们传递的因子相乘。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/11308