2015-10-16 31 views
-2

這個函數用於日期選擇器來設置屬性beforeShowDay。 這是功能:不理解這個jQuery語法,返回逗號分隔的值

function (date) { return [date.getDay() == startDayIndex, ""] } 

這是函數的上下文。

var startDayIndex = getDayIndex($('#rotation_start_time_txt').val()); 
$("#schedule_start_date").datepicker({ 
    minDate: 0, 
    beforeShowDay: function (date) { return [date.getDay() == startDayIndex, ""] } 
}); 

函數返回0還是1?添加逗號和空字符串的意義何在?

+1

它返回一個數組,其第二個元素總是空的字符串和第一個布爾值 – Tushar

+0

這不是jQuery,它只是javascript。它返回的數組總是包含一個布爾值作爲第一個索引,而一個空字符串作爲第二個索引。 –

+0

閱讀datepicker文檔:http://api.jqueryui.com/datepicker/#option-beforeShowDay –

回答

1

表達

function (date) { return [date.getDay() == startDayIndex, ""] } 

評估與此類似

function (date) { 

    var rArr = new Array(2); 

    if (date.getDay() == startDayIndex) 
     rArr[0] = true; 
    else 
     rArr[0] = false; 

    rArr[1] = ""; 

    return rArr; 
} 

在給定的datepicker的上下文中,的beforeShowDay回調被給予日期和預期返回兩個元件的陣列。

符號是自動初始化的數組和布爾表達式的組合,它與上面的函數相比更加簡潔。

+0

感謝您的明確解釋。儘管這個微不足道的問題。 –