Показать сообщение отдельно
Старый 03.10.2011, 23:30
Psycho Tiger вне форума Посмотреть профиль Отправить личное сообщение для Psycho Tiger Найти все сообщения от Psycho Tiger
  № 7  
Ответить с цитированием
Psycho Tiger
 
Аватар для Psycho Tiger

блогер
Регистрация: Jun 2005
Адрес: Toronto
Сообщений: 6,599
Записей в блоге: 17
Ты не прав, бро.
Код AS3:
			var hash:Object = { obj: { obj: { value: 5 } } };
			trace(hash.obj.obj.value);
			var i:int;
			var count:int = 1000000;
			var value:int;
			var startTime:int;
 
			startTime = getTimer();
			i = count;
			while (i--) {
				try {
					value = hash.obj.obj.value;
				}
				catch (error:Error) {
 
				}
			}
			trace("Hit try: ", (getTimer() - startTime));
 
			startTime = getTimer();
			i = count;
			while (i--) {
				try {
					value = hash.obj.noObject.value;
				}
				catch (error:Error) {
 
				}
			}
			trace("Miss try: ", (getTimer() - startTime));
 
			startTime = getTimer();
			i = count;
			while (i--) {
				value = getProperty(hash, "obj.obj.value");
			}
			trace("Hit getProperty: ", (getTimer() - startTime));
 
			startTime = getTimer();
			i = count;
			while (i--) {
				value = getProperty(hash, "obj.noObject.value");
			}
			trace("Miss getProperty: ", (getTimer() - startTime));
Код:
Hit try:  213
Miss try:  9182
Hit getProperty:  7639
Miss getProperty:  9738
К тому же, твой getProperty возвращает null если объект не найден. А если он найден, но его значение - null?