Всем привет! только начал изучать js, читаю книгу, там такой код
<HTML>
<IMG ID = "myimg" SRC = '1.jpg' onclick = "imgchange()">
<SCRIPT>
var flag=false; // флаг (триггер)
function imgchange() { // обработчик щелчка на изображении
if (flag) {document.all.myimg.src = "1.jpg";}
else { document.all.myimg.src = "2.jpg"; }
flag=!flag; // изменяем значение флага на противоположное
}
</SCRIPT>
</HTML>
все понятно, после клика по изображение, включается функция imgchange(), сначала переменная flag имеет false значение,
значит выполняется условие else, вот дальше не понятно:
flag=!flag; // изменяем значение флага на противоположное - т.е значение флага из false меняется на true и потом при след. клике наступает условие if. Я не могу понять, почему когда я делаю так flag=true; то есть приравниваю к true, что должно ровняться этому условию: flag=!flag;,скрипт срабатывает один раз всего(картинка меняется один раз), а так: flag=!flag -бесконечно???