События Javascript с флажком

5 баллов в защиту Python
  1. Простота: поведение прост в следующем смысле: большинство людей попадают в эту ловушку только один раз, а не несколько раз.
  2. Согласованность: Python всегда передает объекты, а не имена. Параметр по умолчанию, очевидно, является частью заголовка функции (а не тела функции). Поэтому он должен оцениваться при времени загрузки модуля (и только при времени загрузки модуля, если не вложен), а не во время вызова функции.
  3. Полезность: Как указывает Фредерик Лунд в своем объяснении Значения параметров по умолчанию в Python ", текущее поведение может быть весьма полезно для расширенного программирования. (Используйте экономно.)
  4. Достаточная документация: в самой базовой документации Python, в руководстве, проблема громко объявляется как «Важное предупреждение» в первом разделе раздела раздела «Подробнее о определении функций» . Предупреждение даже использует жирный шрифт, который редко применяется за пределами заголовков. RTFM: прочитайте тонкое руководство.
  5. Мета-обучение: падение в ловушку на самом деле является очень полезным моментом (по крайней мере, если вы являетесь рефлексивным учеником), потому что впоследствии вы лучше поймете пункт «согласованность», выше, и это научит вас много о Python.

1
задан Antonio Esposito 28 March 2019 в 21:42
поделиться

1 ответ

Если вы хотите, чтобы ваш код работал с функцией stikalo () без EventListener, вы должны изменить свой ввод следующим образом:

<input id="sw" type="checkbox" name="switch" onclick="stikalo()">
0
ответ дан Antonio Esposito 28 March 2019 в 21:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: