javascript - 有人能解释一下为什么要多加()吗?

标签 javascript

我正在从 freecodecamp 学习 JavaScript,有一个函数我不明白额外的 () 的含义,我将附上代码,抱歉,如果之前已经问过这个问题

我知道我需要 () 才能得到结果,但我无法解释其背后的原因

const sum = (function() {
  return function sum(...args) {
    return args.reduce((a, b) => a + b, 0);
  };
})(); //what I am asking is (func....)(); what is the reason behind those 2 ()?

console.log(sum(1, 2, 3, 4));

结果是10,我理解这个函数,我只是不明白它背后的含义

最佳答案

它是一个 IIFE(立即调用函数表达式) - 它是一个 JavaScript 函数,一旦定义就立即运行。

https://developer.mozilla.org/en-US/docs/Glossary/IIFE

关于javascript - 有人能解释一下为什么要多加()吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56670832/

相关文章:

JavaScript for of with 对象重构列表

javascript - 如何用javascript读取和删除Cookie?

javascript - 将获取的响应通过管道传输到客户端时防止内存/连接泄漏

javascript - Sails.js/水线 : groupBy + count

javascript - 保留 window.history.back() 以供以后使用

javascript - Symfony Controller 返回的变量始终未定义

javascript - 更改 React-Table 默认样式

javascript - Bootstrap Confirmation data-on-confirm 不执行功能

javascript - Firebase 查询,其中我正在寻找的键/值对位于未知引用下

javascript - 如何使用 javascript 或 jquery 打印表格中的特定列