Это не имеет никакого значения, если вам не требуется какое-либо событие. В случае события keyup
объект event
будет содержать keyCode
, что очень полезно.
Попробуйте это:
$("#target").keyup(function(event) {
alert(event.keyCode);
}
Это намного проще работать с console.log
, а не alert
. Возможно, вам захочется перейти на это, чтобы вам не приходилось всплывать всплывающие окна все время. Просмотрите журнал в инструментах dev (возможно, ключ f12).
Это может помочь вам понять, что происходит лучше:
function foo(yourFunction) {
var eventObject = {keyCode: 10};
yourFunction(eventObject);
}
foo(function(event) {
console.log(event);
});
В этом примере функция foo
называется и функция передается в него. foo
затем вызывает переданную функцию и передает значение этой функции. Для того, чтобы эта функция использовала его, функция должна дать ему имя. Посмотрите на это:
foo(function() { //now the function doesn't accept any arguments/parameters
console.log(event); // what is "event" ???
});
Аргументы, передаваемые в функцию могут быть доступны с переменной arguments
. Для того, чтобы держать с моими предыдущими примерами:
function foo() { //argument name removed
var eventObject = {keyCode: 10};
yourFunction(eventObject); //this is now undefined
console.log(arguments);
//this will be an array
//the first value of the array will be the function that was passed in
}
foo(function() { //argument named remove
console.log(event); //this is also undefined
console.log(arguments);
//the first value of "arguments" will be the eventObject that was passed in
});
ли вы написать функцию, чтобы принять аргументы или нет, аргументы все еще могут быть переданы ему и доступны с переменной arguments
, но если вы нуждаетесь в них, вы должны дать им имя локальной переменной.
Последнее изделие. Неважно, что вы называете аргументом. Вы просто даете ему любое местное имя, которое вы хотите.
$("#target").keyup(function(e) {
alert(e);
}
$("#target").keyup(function(evt) {
alert(evt);
}
$("#target").keyup(function(event) {
alert(event);
}
$("#target").keyup(function(cookieMonster) {
alert(cookieMonster);
}
Все они делают то же самое. Переменная относится к одному и тому же объекту события, так как это то, что передается.
нет никакой разницы .. вы передаете аргумент события, если вам нужно что-то делать с событием .. например, предотвращение поведения по умолчанию для события, для получения кода ключа – bipen
Если вы не объявляете * параметр *, тогда, когда функция называется аргументом, будет «потеряна» (или, скорее, не будет напрямую доступна через переменную). Тем не менее, сама функция будет вызываться точно так же - так что если вам не нужен параметр, то это прекрасно, что бы опустить его. – user2864740