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

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s