jQuery原始碼分析

2021-08-21 15:30:03 字數 846 閱讀 4588

一、jquery如何做到不汙染變數名並暴露出 $ 供使用者使用

jquery將變數和**寫進立即執行函式,通過函式來包裹所有的變數和方法,再在這個立即執行函式上將 jquery方法繫結到window上,就可以讓使用者使用到jq方法了。

二、jquery是如何做到 jquery == $ 的?

(function ()

window.jquery = window.$ = jquery;

})()

三、jquery的構造

jq在內部 new 乙個自己的init函式,這個initial的函式的原型又指向jq,這樣使用者每次使用 $('selector') 都會返回乙個新new出來的jq物件;

將初始化函式init掛到jq原型上,這個初始化函式init的原型又指向jq的原型。

//模擬

function jquery(some)

jquery.fn = jquery.prototype = ,

func1: function()

}jquery.prototype.init.prototype = jquery.prototype;

//實際

jQuery原始碼分析

工具 版本說明 版本號備註 jquery 2.1.1 sublime 3jquery function selector,context jquery.fn jquery.prototype 快速匹配正則 不加g 不光匹配整體項還會匹配到子項 rquickexpr s w w w init jque...

jQuery 原始碼分析

這篇文章可以說是讀這篇文章這篇文章後的總結。jquery最基本的構成結構 var jquery window.jquery window.function a,b jquery.fn jquery.prototype age function jquery.fn.init.prototype jqu...

jquery原始碼分析2

jquery原始碼分析系列2 results is for internal usage only 只是為了內部使用 makearray function arr,results else return ret 很多地方都使用了這個函式 判斷是否是陣列或者是類陣列 返回值是boolean funct...