2014-02-11 44 views
6

對於目前穩定的jQuery版本(1.11.0 & 2.1.0),我已經注意到加載jQuery後的jQuery.length == 2爲什麼jQuery.length == 2?

這是爲什麼?

Both jQuery[0] and jQuery[1] are undefined

我與jQuery陣列類對象和控制檯行爲關於數組/對象與.length和.splice()的familliar。

正納悶jQuery.length

+0

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/長度爲 – Bergi

回答

11

jQuery是一個函數,並且函數的length屬性等於函數的形式(聲明)參數的數量。從MDN

length是一個函數對象的屬性,並表示該功能多少個參數預期,即正式參數的數量。該號碼不包括其餘參數。相比之下,arguments.length是函數的局部,並提供實際傳遞給該函數的參數的數量。

具體地說,jQuery函數具有該簽名(source):

jQuery = function(selector, context) { 
    ... 
} 
+0

謝謝,我忘了那個特殊性。 – TiTi

10

jQuery是一個函數。
函數的length屬性返回聲明參數的數量。

+0

而這些參數將是'(selector,context)' – j08691