Установка параметров функции Javascript внутри скобки функции
Это так просто, я забыл, как это сделать. Я всегда передавал переменные в функцию, поэтому ее параметры были предварительно установлены, теперь мне нужно установить параметры при объявлении функции, но не помню настройки.
Я ищу рабочую версию этого:
function(a,b=4){return a-b;}
Где b
Параметр функции устанавливается, когда функция объявлена.
Если я правильно помню, это похоже на установку по умолчанию для b
если функция не имеет второго аргумента:
function(a,b){b=b || 4; return a-b;}
РЕДАКТИРОВАТЬ
Спасибо за вашу помощь, но в js без ECMAScript 6 это невозможно. Хотя ваши ответы немного не по теме... Мне действительно нужны были значения, установленные в паране.
Чтобы держать это в теме... моя первоначальная проблема заключается в отправке параметров в setTimeout
функция. Итак, у меня есть <div>
с .gif
фон, при нажатии он меняет фон, эта вторая анимация запускается ровно 8 секунд, а затем фон снова меняется на финальный .gif
, так что это 3-х этапная анимация, просто... дело в разрыве 8сек, я понял setTimeout
будет работать, но я не могу передать какой-либо параметр в функцию "Sto" для ссылки сказал <div>
,
Если вы знаете о каких-либо событиях таймера, которые могут помочь, тогда будьте моим гостем, это насколько я знаю. Мой оригинальный код ниже... он терпит неудачу в function(p = cha)
,
for(var i = 0; i < 5; i++){
var cha = document.createElement('div');
$(cha).css('background','url(img/stand.gif)');
cha.addEventListener('click',function(){
$(cha).css('background','url(img/walk.gif)');
setTimeout(function(p = cha){
$(p).css('background','url(img/walk.gif)');
},8000);
});
}
1 ответ
function(a,b){b=b || 4; return a-b;}
Это типичный способ задания параметров по умолчанию в ES5. Тем не менее, я бы посоветовал изменить это, чтобы проверять типы б немного более строго, потому что 0 будет считаться значением Фолси ||
оператор
function(a,b){
b = typeof b === 'undefined' ? 4 : b;
return a-b;
}