對於自訂函數:
function fun(a,b) {
console.log(a);
}
在chrome的開發工具中列印window對象,發現有自訂的函數fun和自有函數getComputedStyle.
#其中fun函數的形參有兩個,所以length屬性為2,getComputedStyle形參有一個,所以length為1,
那麼為何顯示fun:function fun(a,b)
卻不顯示getComputedStyle:function getComputedStyle(形參1,形參2)呢?
typecho2017-06-14 10:55:55
length 是函數物件的屬性值,指該函數有多少個必須要傳入的參數,那些已定義了預設值的參數不算在內,例如function(xx = 0)的length是0。
另外在函數內部:arguments.length 是函數被呼叫時實際傳參的個數。
黄舟2017-06-14 10:55:55
這跟length沒什麼關係,只是顯示問題,因為自有函數自帶檢查參數的功能,你傳入的參數類型個數不對,就會報錯,顯示形參沒多大意義,但你自定義的函數不會啊,所以會顯示完整的形參類型。