jQuery原理簡析

2021-10-08 14:40:11 字數 1745 閱讀 6424

jquery原理簡析

function $(selector,context);

function jquery(selector,context)

if(typeof selector =="function")

}

我們想要$('selector')時就獲得乙個元素,且裡面有一些方法。

這些方法要繫結在原型prototype上。

所以jquery必須是個建構函式

var $ = new fucntion jquery(){}
假設裡面有個方法是繫結元素的,叫做init,我們首先要在prototype繫結這個方法。

jquery.prototype.init = function(){}
當然jquery裡還有其他例項方法,比如each方法,那我們需要這樣寫。

jquery.prototype = ,

each: function(callback, args) {},

其他方法...

}

然後我們需要返回這個元素,因此返回的是init方法的執行結果.

var $ = new fucntion jquery()
但是我們返回的是init創造的dom,因此我們也要在init裡獲取到jquery的原型上的方法,因此最好的辦法是把init函式也當成乙個建構函式。裡面的prototype就繫結jquery的原型方法。

因此

init.prototype = jquery.prototype

jquery.prototype.init.prototype = jquery.fn;
這樣我們就不需要new jquery,而直接通過new init()方法,就可以獲取到jquery上的原型方法。

所以

var $ = fucntion jquery(selector)
由於prototype太長,也不利於理解,我們用乙個fn表示這些所有的方法,也就是這個原型。

因此

jquery.fn.init.prototype = jquery.fn;
所以就變成下面這樣了。

var $ = fucntion jquery()

jquery.prototype = //建構函式,

其他方法

}jquery.fn = jquery.prototype

jquery.fn.init.prototype = jquery.fn;

$(selector)

jquery的巧妙之處在於,在原型方法jquery.fn.init上,返回原建構函式的原型方法jquery.prototype,也就是jquery.fn.init.prototype =jquery.fn

這樣做的好處乙個是可以獲取到jquery繫結的原型方法,乙個是不需要new,因為我們new init時,init的原型就可以拿到jquery的原型了。

Android handler(原理簡析)

顯示到我們的螢幕上。此時乙個android新手上來說,那簡單啊,直接寫上網路請求獲取就行了,獲取到了再將直接放到對應的控制項上就行了啊,這有什麼值得思考的啊?修改ui只能在主 ui 執行緒中 1.我們把需要傳送的訊息打包成message物件 2.handler將打包好的message物件傳送給mes...

https原理簡析

https的工作原理 https在傳輸資料之前需要客戶端 瀏覽器 與服務端 之間進行一次握手,在握手過程中將確立雙方加密傳輸資料的密碼資訊。tls ssl協議不僅僅是一套加密傳輸的協議,更是一件經過藝術家精心設計的藝術品,tls ssl中使用了非對稱加密,對稱加密以及hash演算法。握手過程的簡單描...

編譯原理中要點簡析

一 文法 0型文法又叫短文法,其能力相當於圖靈機。滿足a b中a包含非終結符 1型文法又叫上下文有關文法,其能力相當於線性有界自動機。滿足 b a a 空除外 2型文法又叫上下文無關文法,其能力相當於下推自動機。滿足1型文法的同時要求a是非終結符 對比0型文法 3型文法又叫正規文法,其能力相當於有限...