имя функции (e) в Javascript - PullRequest
       45

имя функции (e) в Javascript

4 голосов
/ 03 августа 2010

Как полному новичку в Javascript, мне бросают вызов то, что может показаться простым понятием всемогущим повелителям JavaScript, которые называют Stackoverflow home.

Моя проблема на самом деле не проблема. Когда я делаю свой javascript в редакторе кода в гетто, я часто вижу подобные вещи

function name(e) {

    if(e.KeyCode) { 
        ....
    }
}

Что делает это? Как это отличается от просто делать if(KeyCode)? Что такое e?

Спасибо:)

Ответы [ 7 ]

4 голосов
/ 03 августа 2010

Похоже, что функция должна вызываться браузером (или чем-то еще) при запуске определенного события (в этом случае я предполагаю, что это связано с клавиатурой; e обозначает событие или данные события).

Так один разпри вызове вызывающая сторона передаст структуру события в качестве параметра (копируется в e).JavaScript не будет определять локальные / глобальные переменные только для одного конкретного вызова, поэтому KeyCode не будет определен, но содержит эту переменную.

4 голосов
/ 03 августа 2010

e вот это событие.Обратите внимание, что буква e не важна, это просто имя параметра.Вы можете назвать это как угодно, но e является стандартным и делает его очевидным для других людей, читающих ваш код.

пример:

<input type="text" onkeyup="doSomething(event)"/>

function doSomething(e) {
    alert('you pressed key:' + e.keyCode);
}

Итак, e.keyCode сообщает вам, какой ключ былпрессованный.

1 голос
/ 03 августа 2010

KeyCode не определено (само по себе). Это свойство или атрибут e, поэтому вы должны вызывать его с e.KeyCode. e - это (предположительно) событие объект . Может быть, вам стоит освежить в памяти ООП ?

1 голос
/ 03 августа 2010

e - это объект события, переданный функции в большинстве случаев, он проверяет свойство keyCode объекта события, который был передан.

Например, в Firefox вы можете сделать это:

document.onclick = myFunction;
function myFunction(e) {
  //e is the click event object
  //e.keyCode, e.target, etc.
}

Это работает, потому что по умолчанию оно передает событие обработчику в качестве первого аргумента.Для вашего примера это проясняет ситуацию?

function name(someObject) { //or event, or any name works
  if(someObject.keyCode) {
0 голосов
/ 03 августа 2010

e = сокращенное имя переменной для события, которое передается в функцию.

0 голосов
/ 03 августа 2010

Это объект события. Читать о Событиях .

0 голосов
/ 03 августа 2010

«e» - это параметр - объект события, который передается функции при ее вызове.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...