JavaScript не поддерживает параметры аргумента по умолчанию.Как и многие другие говорили, вы можете выбрать значение по умолчанию внутри вашей функции.Краткая идиома для установки значения по умолчанию:
arg = arg || default;
Итак, в вашем случае это будет:
remove_wrap = remove_wrap || false;
Однако, если ваше значение по умолчанию false
, вы недаже не нужно его устанавливать.Потому что, когда этот аргумент отсутствует, его значение будет иметь тип undefined
внутри функции, и это значение уже "ложное": вы можете напрямую использовать remove_wrap
как есть:
function display_message(bool, msg, remove_wrap) {
var error = bool
? get_msg(msg, remove_wrap)
: get_error_msg(msg, remove_wrap);
$.fancybox(error, {
autoDimensions: false,
width: 450,
height: "auto",
transitionIn: "none",
transitionOut: "none"
});
}
Бонус: Обратите внимание, что я также добавил var
к переменной error
(не опускайте var, если вы не намерены создавать глобальную переменную).Я также сократил назначение с помощью троичного выражения.Я также переформатировал вызов fancybox
с помощью синтаксиса, который большинство людей находят более читабельным.