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

Javascript 这些元素在这个JS函数中的作用是什么?,javascript,Javascript,有这段代码 (function flattenDeep(arr1){ return arr1.reduce((acc, val) => Array.isArray(val) ? acc.concat(flattenDeep(val)) : acc.concat(val), []); })(arr1); 我想知道的是 为什么整个函数都封装在()中 函数之后(arr1)做什么 某物的名称是什么?doThis:orDoThis算法 1.为什么整个函数都封装在()中 因为它是一个自

有这段代码

(function flattenDeep(arr1){
   return arr1.reduce((acc, val) =>
    Array.isArray(val) ? acc.concat(flattenDeep(val)) : acc.concat(val), []);
})(arr1);
我想知道的是

  • 为什么整个函数都封装在
    ()
  • 函数之后
    (arr1)
    做什么
  • 某物的名称是什么?doThis:orDoThis
    算法
  • 1.为什么整个函数都封装在()中

    因为它是一个自调用函数或一个立即调用的
    函数表达式
    ,或者简称为
    IIFE
    。它在创建后立即执行。自动调用(启动)自调用表达式,而不被调用

    2.函数之后(arr1)做什么

    它是
    自调用
    函数的参数

    3.某物的名称是什么?doThis:orDoThis算法


    只是。

    &请不要同时问两个问题。这两个问题以前在这里被问过无数次。和。不要在每篇文章中问多个问题。