1. 程式人生 > >jQuery的原理

jQuery的原理

jQuery的原理

jq最核心的是 $ ,它是一個函式。
函式中返回一個自定義的jq物件,它是一個類。
在這個類的原型下面有許多jq自定義的方法,如on,css。。。
每次呼叫 $ 都會返回一個新的jq物件,

同時在 $ 函式中,根據傳入引數的型別,如(#div1, .div2, span等),函式或者字串,
把選中的元素存在陣列中,遍歷這個陣列,去除每個元素進行dom操作。

jQuery可以鏈式操作,是因為,在每一個方法中,都會在最後 return this
返回了當前 $函式中的jq物件,所以就能繼續鏈式操作了。

舉例(虛擬碼):

	function $(selector,
context){ return new Jquery(selector,context); }; function Jquery(selector,context){ this.element = [];//用來儲存傳進來的引數 if(typeof selector =="string"){ //說明傳進來的是 #div1 .box span 等 if(selector.charAt(0)=="#") if(selector.charAt(0)==".") //擷取字串,獲取dom物件,儲存在陣列中 } if(typeof selector =="function"
){ //說明傳進來的是文件就緒函式 addEvent(document,"DOMContentLoaded",selector,false) } }

jQuery物件、js物件相互轉換

1)jq->js

$("#div1")[0]
$("#div1").get(0)

2)js->jq

$(this)