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();
создается переменная, если она используется только один раз.
Для начала хватит.