这些元素在这个JS函数中的作用是什么?

时间:2018-05-20 22:09:45

标签: javascript

MDN page for the flatten() method有这段代码

@app.get('/<filename:path>')

我想知道的是

  1. 为什么整个功能都封装在(function flattenDeep(arr1){ return arr1.reduce((acc, val) => Array.isArray(val) ? acc.concat(flattenDeep(val)) : acc.concat(val), []); })(arr1);
  2. 该功能之后的()是什么?
  3. (arr1)算法的名称是什么?

1 个答案:

答案 0 :(得分:1)

  

1.为什么整个函数都封装在()?

因为它是自我调用函数或Immediately-Invoked Function Expression,或简称为IIFE。它在创建后立即执行。 自调用表达式会自动调用(启动),而不会被调用。

  

2.函数后的(arr1)是什么?

它是self-invoking功能的参数。

  

3.这个东西叫什么名字? doThis:orDoThis算法?

它只是ternary operator