size()跟length同樣的功能,都是取元素的個數,那么他們的區別是什么呢,一個是方法一個是屬性?
從圖中可以看到size()方法比length慢38%,原因何在?
size: function () { return this.length; }
可以看到size()的實質是調用對象的length屬性實現的;
意思是說在jquery 1.8里面,用length取代了size(),size()跟length功能是等同的,但是length更優秀,因為他不需要返回一個函數調用.
一定要說差別,size()是操作對象實例的方法,定義在jQuery中,只能在jQuery下使用;
length是屬性,定義在dom和javascript中,不使用jQuery也可以使用。
兩者在效率上有非常細微的差異,size()因為多了一個函數調用,會慢一點(差異小於百萬分之一秒),但因為是DOM對象的專屬操作,防止了javascript過於靈活造成的歧義,因此在jQuery下,推薦使用size()來獲取對象大小和進行語句判斷。