2016-04-29 26 views
2

Я знаю, что локальная переменная связана с областью действия функции, между тем частная переменная связана с способом доступа к самой переменной .... Кроме того, я просто хочу подтвердить локальные переменные переменная и частная переменная, я думаю, что локальная переменная может быть доступна только из определенного места и может быть доступна (например, получить доступ к значению) со специальным «методом» (пример с использованием возврата)Локальная переменная и частная переменная

так верно, что можно сказать, что Локальная переменная также может рассматриваться как частная переменная?

+2

А "закрытая переменная" не имеет никакого реального смысла. Локальные переменные в javascript часто используются в качестве решения для принудительного использования частных * членов *. –

+0

вы не можете получить доступ к функции varialble извне – misher

+0

JS не имеет частных членов (/ полей/свойств) на объекте. Конвенция 'this._foo' часто используется для обозначения частных членов, но на самом деле не предоставляет никаких гарантий. – ssube

ответ

2

A "частная переменная" не имеет реального значения.

Локальные переменные в затворах являются общим решением для обеспечения частных членов.

Вот пример:

var counter = (function(){ 
    var count = 0; 
    return { 
    getCount: function(){ 
     return count; 
    }, 
    increment: function(){ 
     count++; 
    } 
    } 
})(); 

console.log(counter.getCount()); // 0 
counter.increment(); 
console.log(counter.getCount()); // 1 
console.log(counter.count);  // undefined, count is "private" 
Смежные вопросы