Показать сообщение отдельно
Старый 29.06.2008, 17:59
wvxvw вне форума Посмотреть профиль Отправить личное сообщение для wvxvw Найти все сообщения от wvxvw
  № 274  
Ответить с цитированием
wvxvw
Modus ponens
 
Аватар для wvxvw

модератор форума
Регистрация: Jul 2006
Адрес: #1=(list #1#)
Сообщений: 8,049
Записей в блоге: 38
Есть принципиальная разница между локальными функциями и приватными свойствами класса - то, что вы описали, это локальная функция, ее область видимости не совпадает с обласью видимости класса.
Код:
function TClass () {
	function toBePrivate () { trace("Should be TClass: "+ this) };
	this.toString = function () { return "[TClass]" };
	this.callPrivateMethod = function() {toBePrivate()};
}
var t = new TClass();
trace(t);
t.callPrivateMethod();
Код:
[TClass]
Should be TClass: undefined
Кроме того, эта функция не будет доступна другим паблик методам класса объявленным на прототипе - это так же не является правильным поведением приватного метода.
__________________
Hell is the possibility of sanity


Последний раз редактировалось wvxvw; 29.06.2008 в 18:13.