Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.01.2017, 21:33
Интересующийся
Отправить личное сообщение для andyyy Посмотреть профиль Найти все сообщения от andyyy
 
Регистрация: 09.01.2017
Сообщений: 10

помогите новичку в коде
Всем привет! только начал изучать 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 -бесконечно???

Последний раз редактировалось andyyy, 09.01.2017 в 21:40.
Ответить с цитированием
  #2 (permalink)  
Старый 09.01.2017, 22:31
Аспирант
Отправить личное сообщение для TestUser013 Посмотреть профиль Найти все сообщения от TestUser013
 
Регистрация: 13.07.2013
Сообщений: 94

https://learn.javascript.ru/logical-ops#%D0%BD%D0%B5

flag=!flag - тут используется оператор ! (НЕ)
Ответить с цитированием
  #3 (permalink)  
Старый 09.01.2017, 23:51
Интересующийся
Отправить личное сообщение для andyyy Посмотреть профиль Найти все сообщения от andyyy
 
Регистрация: 09.01.2017
Сообщений: 10

Сообщение от TestUser013 Посмотреть сообщение
https://learn.javascript.ru/logical-ops#%D0%BD%D0%B5

flag=!flag - тут используется оператор ! (НЕ)
ну да, я понял, ну надпись означает же true, .т.е.

1. сначал у переменной false
2. потом: flag(false)не равенflag(false), т.е true получается! но когда подставляешь flag=true, один раз срабатывает
Ответить с цитированием
  #4 (permalink)  
Старый 10.01.2017, 00:04
Аспирант
Отправить личное сообщение для TestUser013 Посмотреть профиль Найти все сообщения от TestUser013
 
Регистрация: 13.07.2013
Сообщений: 94

Там не проверка равности, там операция присваивания.

Последний раз редактировалось TestUser013, 10.01.2017 в 00:07.
Ответить с цитированием
  #5 (permalink)  
Старый 11.01.2017, 18:32
Интересующийся
Отправить личное сообщение для andyyy Посмотреть профиль Найти все сообщения от andyyy
 
Регистрация: 09.01.2017
Сообщений: 10

Сообщение от TestUser013 Посмотреть сообщение
Там не проверка равности, там операция присваивания.
у меня тоже операция присваивания, flag=true же, равность же так, flag==true, целый форум, и никто не может ответить нормально
Чем отличается flag=!flag от этого flag=true в скрипте????

Последний раз редактировалось andyyy, 11.01.2017 в 18:34.
Ответить с цитированием
  #6 (permalink)  
Старый 11.01.2017, 18:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,108

Сообщение от andyyy
от этого flag=true
тем что flag становится то true то false , а у вас всегда одно и тоже true
Ответить с цитированием
  #7 (permalink)  
Старый 11.01.2017, 19:45
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Какой ужас, что же за древние книги Вы читаете.
Ответить с цитированием
  #8 (permalink)  
Старый 12.01.2017, 08:21
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,214

Сообщение от Ruslan_xDD
что же за древние книги Вы читаете
Видать досталась от отца...
Ответить с цитированием
  #9 (permalink)  
Старый 13.01.2017, 13:15
Интересующийся
Отправить личное сообщение для andyyy Посмотреть профиль Найти все сообщения от andyyy
 
Регистрация: 09.01.2017
Сообщений: 10

Сообщение от рони Посмотреть сообщение
тем что flag становится то true то false , а у вас всегда одно и тоже true
Да я уже понял за три дня, все равно спасибо
Сообщение от Ruslan_xDD Посмотреть сообщение
Какой ужас, что же за древние книги Вы читаете.
Что было, в инете нашел а что посоветуйте из книг для новичков, ?
Ответить с цитированием
  #10 (permalink)  
Старый 13.01.2017, 13:27
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,214

Сообщение от andyyy
что посоветуйте из книг для новичков, ?
Как вариант...
Там фулхаус для начинающего!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите новичку acronics Общие вопросы Javascript 2 04.06.2013 14:44
Помогите плис новичку в ajax urel AJAX и COMET 6 12.01.2013 21:36
Помогите новичку! Анатолий Саратовцев Events/DOM/Window 7 04.08.2012 17:46
помогите новичку с поиском! real-man AJAX и COMET 8 12.06.2011 14:07
Помогите новичку с выпадающим списком interest Элементы интерфейса 5 19.05.2010 13:15