https://alicloud.my.id/2024/08/22/javascript-closures-explained/