2015-08-25 33 views
2
  1. 任何人都可以解释!checkDate(date)[0]是什么意思?
  2. 这是真的,功能checkDate(date)通过javascript日期对象作为参数?这是否是JavaScript对象在作为参数传递时不需要初始化的情况?

是什么了checkdate(日期)[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 Date对象,因为它的参数是。