類數(shù)組對象就是類似一個數(shù)組的對象,對象默認是沒有l(wèi)ength屬性的,所以
1,必須構(gòu)造一個length屬性。
2,必須有下標0,1,2...n(必須連續(xù)遞增,不能是0,3,4)
3,且length <= (n+1)
起始下標就是對象的屬性,這個屬性在對象里通過this[i]使用
jQuery()的結(jié)果就存儲在this[i]里,get(i)相當于調(diào)用了this[i]
1,必須構(gòu)造一個length屬性。
2,必須有下標0,1,2...n(必須連續(xù)遞增,不能是0,3,4)
3,且length <= (n+1)
起始下標就是對象的屬性,這個屬性在對象里通過this[i]使用
jQuery()的結(jié)果就存儲在this[i]里,get(i)相當于調(diào)用了this[i]
2015-02-17
常規(guī):1.定義函數(shù)function fn(){a,b} ;2.傳參并運行fn('aa','bb');
立即運行分解:第一步定義函數(shù):function(a,b){},第二步傳參并運行:( function(a,b){} )('aa','bb')。
另外不管是有名還是無名函數(shù),在內(nèi)存里都有一個指針指向函數(shù)。
立即運行分解:第一步定義函數(shù):function(a,b){},第二步傳參并運行:( function(a,b){} )('aa','bb')。
另外不管是有名還是無名函數(shù),在內(nèi)存里都有一個指針指向函數(shù)。
2015-02-17
這個要有編譯原理的功底才能理解,js的語法分析器規(guī)則是:當“()”作為一個運算符時(權(quán)威指南里有詳細的說明),里面填的都解釋為表達式,既然是表達式就有結(jié)果,這個結(jié)果就是一個無名函數(shù)的指針(或者說引用),這個指針在內(nèi)存的函數(shù)棧里,然后再用“()”運行這個無名函數(shù)。跟先定義一個函數(shù),然后用()調(diào)用它是一個道理。
2015-02-17
在一個jquery對象的基礎(chǔ)上,查找另一個jquery對象,這個新的jquery對象有一個prevObject屬性,這個屬性保存著你上一個jquery對象,end方法就是返回這個屬性,其實每一個jquery對象都有這個屬性,第一次得到的jquery對象(沒有在一個jquery對象的基礎(chǔ)上查找的jquery對象),也有prevObject屬性($(null))
2015-02-13
可以在火狐控制臺看console.log( function(){} );打印的對象,用這個最直觀。
js里創(chuàng)建函數(shù)對象后,隱含就會創(chuàng)建 prototype ,prototype 中有constructor屬性指向函數(shù)自身,ajQuery.fn = ajQuery.prototype = { ... } 把原來 prototype 覆蓋了,所以要修正一下constructor屬性,要不然就沒有constructor屬性了。
js里創(chuàng)建函數(shù)對象后,隱含就會創(chuàng)建 prototype ,prototype 中有constructor屬性指向函數(shù)自身,ajQuery.fn = ajQuery.prototype = { ... } 把原來 prototype 覆蓋了,所以要修正一下constructor屬性,要不然就沒有constructor屬性了。
2015-02-13