Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   checkbox решаем что делать (https://javascript.ru/forum/dom-window/56280-checkbox-reshaem-chto-delat.html)

Lecseus 10.11.2015 17:18

рони, не могли бы мне объяснить, каким образом тут массив связывается:
answer = [1, 1, 0, 1];

тут
answer = answer.every(function(check, i) {
 return check == vastus[i].checked
})
если я правильно понимаю, вложенная функция, которая возвращает выбор. Но откуда тут every, это такая встроенная функция какая-то? Можете прокомментировать ваш код? и отчего у вас запятые вместо ";"?
как я это понял: задается массив, который потом проверяется и значение отмеченной коробки сверяется с индексом в массиве и только при таком раскладе выдает "верно", так? но я все-таки не понимаю, каким образом переменной, которая как массив передается далее функция и все остальное, не понимаю..
otv.innerHTML = answer ? "верно" : "неверно";
- это просто краткая запись условия if, если true то берется то, что до двоеточия, правильно я понимаю?
не понимаю, что значит
answer && correct++;


и ещё, объясните, как делать макет, чтобы в следующий раз не ошибиться?

рони 10.11.2015 17:51

Цитата:

Сообщение от Lecseus
как делать макет,

сделать министраницу со всем необходимым и заключить в теги
[HTML run][/HTML]

о дополнительных возможностях форматирования - читайте http://javascript.ru/formatting.

рони 10.11.2015 17:57

Lecseus,
every
оператор-вопросительный-знак
Не используйте && вместо if

рони 10.11.2015 18:02

Цитата:

Сообщение от Lecseus
отчего у вас запятые

чтобы не писать var несколько раз, можно переменные перечислить через запятую

Lecseus 10.11.2015 18:03

рони,
спасибо. изучаю

Lecseus 10.11.2015 18:10

про запятые понял.
и все-таки про то, что написано answer И correct++; не понял. correct++ понимаю, но при чем тут стоит answer.
про every понял, только что значит return check == vastus[0].checked; ну так, туманно понимаю.. тоесть в заданный параметр в скобках функции check приравнивается действие о клике на checkbox. так?

рони 10.11.2015 18:27

Lecseus,
было answer = [1, 1, 0, 1];
крекс фекс пекс

answer = answer.every(function(check, i) {


return check == vastus[i].checked


})
стало скажем answer = true (или false)
answer && correct++;
перевод с этрусского
if(answer == true)correct++;
перевод на русский
если ответ правильный плюсуем единичку :)
если иначе то нефига не делаем

рони 10.11.2015 18:33

Lecseus,
check(любое имя) это перечисляемый элемент массива 1 или 0 тут [1, 1, 0, 1]; каждый элемент массива сравнивается с соотвествующим состоянием чекбокса

Lecseus 10.11.2015 18:36

Цитата:

Сообщение от рони (Сообщение 395554)
Lecseus,
check(любое имя) это перечисляемый элемент массива 1 или 0 тут [1, 1, 0, 1]; каждый элемент массива сравнивается с соотвествующим состоянием чекбокса

спасибо. а для чего там рядом с check в скобке i стоит?

Lecseus 10.11.2015 18:37

Цитата:

Сообщение от рони (Сообщение 395553)
Lecseus,
было answer = [1, 1, 0, 1];
крекс фекс пекс

answer = answer.every(function(check, i) {


return check == vastus[i].checked


})
стало скажем answer = true (или false)
answer && correct++;
перевод с этрусского
if(answer == true)correct++;
перевод на русский
если ответ правильный плюсуем единичку :)
если иначе то нефига не делаем

вроде бы понятно, но не все. что, функцию тоже можно проверять через every? каким образом там может быть функция непонятно


Часовой пояс GMT +3, время: 13:49.