我将这段新代码视为解构示例,但无法弄清部分语法的原因:
const stats = {
max: 56.78,
standard_deviation: 4.34,
median: 34.54,
mode: 23.87,
min: -0.75,
average: 35.85
};
const half = (function() {
"use strict"; // do not change this line
return function half({max, min}) {
return (stats.max + stats.min) / 2.0;
};
})();
console.log(half(stats)); //shows 28.015
我的问题:
此语句的作用是:const half = (function() {...})();
。声明后立即调用函数吗?
即使这给出了相同的答案:
const half = (function() {
"use strict";
return (stats.max + stats.min) / 2.0;
})
为什么会有那么多额外的代码?
何时在函数内部返回函数?我知道构造函数会一直这样做,但是否则有什么用?