jquery原始碼解析1

2021-07-27 08:50:35 字數 868 閱讀 3023

學了很久的js也寫了很長時間的jquery了,這裡來以學習的態度來看大牛的思想和架構。

使用的是當前最新版本 

3.1.1

就不考慮煩人的ie 6 7 8了,輕鬆愉快。

其實一上來不知所措,這都是啥?

( function( global, factory ) 

return factory( w );

};} else

} )( typeof window !== "undefined" ? window : this, function( window, noglobal ) );

類似於(function(a,b))(a,b) 這種形式的是函式的立即執行,函式呼叫一般先命名,然後進行呼叫,例如

function a() , a()

函式立刻呼叫就直接在後面寫引數就好了(不用命名,為匿名函式),不過函式不加括號的話js語法會報錯,然而在前面加上各種一元運算子(+ - ! ~)可以省下括號

然後就是傳過去的兩個引數,乙個是window全域性物件->global,另乙個是乙個函式->factory,

執行時不用看前面的module邏輯,那是在非瀏覽器端執行的邏輯,不在討論範圍內,直接看else

factory(global)

這就是工廠模式,不過在這裡的用處僅僅是區分瀏覽器物件還是非瀏覽器物件使用

上面那一堆**就是完成了將真正的window物件傳到function的window引數中的作用,為啥要這麼折騰呢?一方面不去汙染全域性變數window,

另一方面window物件可能不在瀏覽器物件中,非瀏覽器中this指向的是module.exports,走的就不是這一套了,不過不在討論範圍內.

(待續)

jquery原始碼解析

jquery 原始碼解析,參看 是jquery 3.0版本 入口jquery.js包含core.js,以及jquery的各類功能的組合,包括selector,ajax等等 然後將jquery物件匯出到全域性的jquery符號,以及 符號 確定jquery物件是個函式,這個函式生成出來的資料是物件 建...

JQuery原始碼解析(一)

寫在前面 本 第一眼看jq的源 或許會感到混亂和沒頭緒,特別是會卡在36行的 那裡遲遲找不到 function window,noglobal typeof window undefined window this,function window,noglobal return factory w ...

JQuery原始碼解析 目錄

1.a.查詢符號就是放在沙盒裡面的 window.jquery window.jquery b.乙個jquery物件無 new 構造 eg text text myjquery 等價於 var text new text text.text myjquery c.例項化方法存在這麼乙個關係鏈 jqu...