解決不new 自己
首先,要解決無(wú)new,拿么只能在函數(shù)里邊new,但是new自己容易出現(xiàn)無(wú)限遞歸自己。那么就要想辦法,不能new 自己,那能不能new別人,然后讓這個(gè)人擁有和自己一樣的屬性和方法,只是換了個(gè)名字而已,當(dāng)然是可以的。如是就有了new ajQuery.fn.init( selector ). 在init()方法里返回this,然后將init.prototype=ajQuery.prototype,這樣,init()返回的this 就擁有了ajQuery所有的屬性和方法。繞了一個(gè)圈,目的就為了不new自己也能得到和自己擁有相同屬性和方法的實(shí)例對(duì)象。
2016-05-19
還有就是,如果把所有的jQuery實(shí)例方法都掛載在 jQuery的原型下面,那每個(gè)jQuery對(duì)象都直接繼承這寫(xiě)方法,太占內(nèi)存,所以強(qiáng)制new init,每個(gè)實(shí)例對(duì)象可以通過(guò)init和jQuery的原型鏈來(lái)查找那些實(shí)例方法。