Skip to content

输出什么?

Posted on:2021年7月3日 at 22:31
const add = (x) => (y) => (z) => {
  console.log(x, y, z);
  return x + y + z;
};

add(4)(5)(6);

函数 add 是一个返回 返回箭头函数的箭头函数 的箭头函数(still with me?)。第一个函数接收一个值为 4 的参数 x。我们调用第二个函数,它接收一个值为 5 的参数 y。然后我们调用第三个函数,它接收一个值为 6 的参数 z。当我们尝试在最后一个箭头函数中获取 x, yz 的值,JS 引擎根据作用域链去找 xy 的值。得到 4 5 6.

原文转自:https://fe.ecool.fun/topic/a8d808be-7214-4540-bb33-594b23a5a9d3