closure

Closure Javascript

Posted on

Closure sử dụng để cung cấp tính riêng tư (privacy) và tính độc lập (independence)


var func = (function() {
// Không thể truy cập từ bên ngoài function
var private_count = 0;
// Được gọi từ bên ngoài
var increment = function () {
private_count ++;
return private_count;
}
return increment;
} ())
console.log(func()) // 1
console.log(func()) // 2
console.log(func()) // 3

increment là giá trị trả về của hàm func, hàm increment được gọi là inner function. Mỗi lần gọi hàm func() thì hàm increment()  cũng được gọi và biến private_count đc tăng thêm 1.

Closure là cách duy nhất để tạo private variable.

Advertisements