2015-08-25 5 views
2
  1. Может ли кто-нибудь объяснить, что означает !checkDate(date)[0]?
  2. Верно ли, что функция checkDate(date) передает объект даты Javascript как аргумент? Это значит, что объект JavaScript не нужно инициализировать, когда он передается в качестве аргумента?

Что означает checkDate (date) [0]?

$("form").on("submit",function(event) { 
var date; 
try { 
    date = $.datepicker.parseDate("mm/dd/yy", $("#date").val()); 
} catch (error) { } 
if (!date) { 
    event.preventDefault(); 
    alert("Please provide a valid date."); 
} 
if (date && !checkDate(date)[0]) { 
    event.preventDefault(); 
    alert("Cannot select a weekend or Tuesday for Dr.Smith."); 
} 
}); 

function checkDate(date) { 
    var isWeekday = date.getDay() > 0 && date.getDay() < 6; 
    if ($("#doctor").val() === "Smith") { 
    return [isWeekday && date.getDay() != 2]; 
    } else { 
    return [isWeekday]; 
    } 
}; 

ответ

2
  1. checkDate() возвращает массив. checkDate(date)[0] возвращает первый элемент массива. В этом случае, true если дата день недели (а не вторник, если это д-р Смит)

  2. checkDate()получает в Date в качестве единственного аргумента. То, что Date передается из вышеуказанного кода, где он был инициализирован $.datepicker.parseDate()

4
  1. !checkDate(date)[0]

    • checkDate() возвращает массив, содержащий один элемент, который представляет собой логический.

    • checkDate()[0] получит доступ к этому булевому элементу.

    • !checkDate()[0] отрицает, что логический элемент (другими словами, если логическое значение было true, результат приведенного выше выражения будет false, и наоборот).
  2. checkDate() принимает объект даты JavaScript как параметр, да.

Смежные вопросы