Мы используем пользовательский сборщик данных, который до сих пор должен был возвращать дату и время. Но теперь условия изменились, и иногда мне нужно вернуть только дату, поэтому я решил добавить необязательный параметр. Теперь сценарий таков:Правильное использование необязательных параметров в JavaScript
var date_format = "dd/mm/yyyy HH:MM:ss";
function viewCalendar(parent, destField, dateOnly) {
if (typeof dateOnly !== "undefined") {
date_format = "dd/mm/yyyy";
}
//more code...
Но даже несмотря на это, кажется, работает (я сделал только несколько попыток) мне не нравится это очень много, но, возможно, это потому, что я не привык к пути JavaScript , Если бы это было не из-за какой-то пример кода я бы сделать что-то вроде:
var date_format = "dd/mm/yyyy HH:MM:ss";
var dateOnly = true;
function viewCalendar(parent, destField, dateOnly) {
if (typeof dateOnly != true) {
date_format = "dd/mm/yyyy";
}
Но несколько примеров, которые я видел об использовании параметров в необязательный JS я не видел, что-то вроде этого. Каков правильный способ сделать этот вид JavaScript?
Я понимаю, но я больше всего сомневаюсь в том, что мне нужно определить необязательный аргумент с логическим значением или просто проверить на неопределенный. Я предпочитаю его определять, но из ответов здесь кажется, что это не нужно каким-либо образом. Правильно ли я это понимаю? – Leron
_JavaScript_ не гарантирует, что все именованные параметры должны быть переданы как аргументы, но любой именованный параметр будет теневым переменным с тем же именем в родительских областях, поэтому, если они не будут переданы, это будет _undefined_, даже если они были определены в область предков. –
То, что я пытаюсь сказать, находится внутри вашего второго блока кода, в 'viewCalendar', _dateOnly_ будет _undefined_, если он не был передан, хотя это' var'd выше. Это будет только «true», если «true» было передано функции _function_. –