Показать сообщение отдельно
  #14 (permalink)  
Старый 18.06.2009, 06:21
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Gvozd,
Вероятно, имеется ввиду не оптимизация кода под современные браузеры, а просто показать на примере способы его сокращения.


Не обязательно писать несколько var, можно так:
var text = '',
	pass='ACB',
	coordX=0,
	coordY=0,
	Width=64,
	Height=64;

Ниже еще такие ситуации есть.

Здесь:
imageMap.onmousemove = moveDot;
imageMap.onmouseover = moveDot;

присваивается одно и тоже, лучше так:
imageMap.onmousemove = imageMap.onmouseover = moveDot;

Ниже еще такое есть.
При этом частая ошибка:
var x = y = 0;

Здесь "y" попадет в глобальную область видимости. Нужно так:
var x = 0,
	y = 0;


Кусок:
x -= imageMapX;
y -= imageMapY;
x -= dX;
y -= dY;

Можно записать в две строки. Если ты закончил в школе хотя бы 3 класса, то сделаешь это без проблем.

Здесь:
(x < 0) ? coordX = 0 : coordX = x;

В обоих случаях присваивается к одному и тому же, лучше так:
coordX = x < 0 ? 0 : x;


Здесь:
if(coordY<Height/2)
text = text+'A';
else
text = text+'C';
}

так же можно применить тернарный оператор и оператор "+=".

Здесь:
if(text==pass)
{
var picture = document.getElementById('lock');
picture.src = 'port/lock2.png?' + Math.random();
}
else
{
var picture = document.getElementById('lock');
picture.src = 'port/lock.png?' + Math.random();
}

в обоих случаях происходят схожие действия. Их нужно вынести из if-else.

Зачем здесь "try" ?
try {
window.addEventListener('load', init, false);
} catch(e) {
window.onload = init;
}

Читаем про события: http://javascript.ru/tutorial/events

Здесь:
if(text==pass) alert('Пароль верный,поздравляю!');
else alert('Не угадал пароль,тыкай еще!');

С тернарным оператором хочется сделать так:
text==pass
	? alert('Пароль верный,поздравляю!')
	: alert('Не угадал пароль,тыкай еще!');

Еще проще будет так:
alert(text==pass ? 'Пароль верный,поздравляю!' : 'Не угадал пароль,тыкай еще!');


Зачем здесь:
var picture = document.getElementById('lock');
picture.src = 'port/lock.png?' + Math.random();

создается переменная, если она используется только один раз.


Для начала хватит.

Последний раз редактировалось Riim, 18.06.2009 в 06:49.
Ответить с цитированием