[英]Can a callback function be a closure?
getTotal() {
let total = 0;
this.results.forEach(result => {
total += result.marks;
})
return total;
}
forEach 方法内的回调 function 是否是一个闭包,因为它正在访问其 scope 之外的总变量?
是的,它就是。 使用reduce
进行折叠:
return this.results.reduce((total, result) => total + result.marks)
是的,这是关闭。 您的anonymous cb
function 已在同一个 scope 中声明为total
变量, anonymous cb
有一个隐式[[Environment]]
属性,其中存储了您的total
变量。 在这里检查。 https://javascript.info/closure
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.