Ответ 1
Я лично предпочитаю использовать имена onEventName
, поддерживающие традиционное соглашение об именах для обработчиков событий DOM.
Как myElement.onclick = function() { /* ... */ }
для события click
.
Итак, для myEvent
Я использую обработчик с именем onMyEvent
.
И если у меня есть событие stateChange
, я буду использовать обработчик onStateChange
.
Но на самом деле этот вопрос более конкретен для каждой команды разработчиков и соглашений о стиле кода внутри команды/компании.
Таким образом, главная цель в таких вопросах - сохранить стиль кода одинаковым во всех частях, чтобы обеспечить читаемость.
Поэтому, если вы работаете в команде, просто придерживайтесь правил написания командного кода, и если вы работаете в одиночку в существующем коде, попробуйте сохранить его стиль кода (конечно, если этот стиль не является явно уродливым).
ОБНОВЛЕНИЕ: Понимание.
Что такое событие? Примерно это действие инициируется снаружи или внутри программы, другими словами, что-то происходит в системе, например. некоторые изменения состояния (состояние клавиатуры, мыши, устройств ввода-вывода и т.д.) не имеет значения, как (пользователь щелкнул мышью или какая-то программа отправила сигнал мыши в систему).
Скажите, что окно браузера подписано на получение уведомлений о некоторых событиях и операционную систему, отправляющих их ему как можно скорее, мы предположим, что в то же время, когда что-то происходит. Поэтому, если пользователь нажимает на мышь, когда окно браузера активно, а документ имеет фокус, браузер говорит документу, чтобы запустить событие click
. И здесь наш обработчик onclick
начинает свой вызов. Другими словами, система говорит нам, что теперь происходит изменение состояния. И мы обрабатываем это изменение и не обрабатываем факт, говорящий о том, что состояние было изменено.
Предположим, что наш обработчик назван onClicked
.. Поскольку имя обработчика говорит в прошедшем времени, мы можем получить разумный вопрос: "Когда щелкнули, как давно это произошло? Сколько раз это щелкнули? Хм, может быть, слишком поздно справляться с этим действием (или действиями?) вообще...". Итак, это имя говорит нам, что что-то случилось где-то в прошлом.
В отличие от нашего обработчика, названного onclick
, очевидно, что событие click
только что было запущено и выпущено один раз, и мы были немедленно уведомлены об этом. И мы обрабатываем событие click - информацию о том, что состояние мыши изменилось прямо сейчас (не мышь нажал, но событие щелчка).
Таким образом, имена в прошедшем времени более подходят для случаев, когда нам нужно проверить, было ли какое-то состояние изменено или нет. Например. если переменная хранит state = 1
, мы можем вызвать функцию isStateChanged();
, которая будет сравнивать значение в переменной state
с реальным значением в текущий момент. И вот прошедшее время - хороший выбор для именования.