Mình đang coi 1 ví dụ về closure trong JS, các bạn có thể xem video bên dưới, nó cũng rất ngắn thôi
Cái ví dụ họ đưa lúc đầu khi click vô button toàn alert() ra giá trị là 1. Cái này mình cũng hiểu nguyên nhân là do: mỗi lần khi click => sẽ gọi lại hàm incrementClickCount() => biến clickCount lại bị reset về giá trị lúc đầu là 0 rồi mới được + 1.
Như vậy mình nghĩ cách giải quyết đơn giản là lôi câu lệnh var clickCount = 0
ra bên ngoài hàm incrementClickCount() là đã giải quyết được vấn đề rồi.
Nhưng mà tại sao ở đây họ lại chọn cách giải quyết phức tạp hơn vậy. Hay là làm như họ thì sẽ có cái lợi gì chăng ???
Bạn nào rành phần này có thể giải thích giúp mình được không ạ .
Mình xin cám ơn nhiều !