JS框架設計讀書筆記之 核心模組

2022-02-09 08:34:14 字數 1841 閱讀 3515

該模組是框架最先執行的部分,jquery與vue中都有初始化的**。

模組的功能主要是:物件擴充套件、陣列化、型別判定、事件繫結和解綁、無衝突處理、模組載入、domready

物件擴充套件:

jquery.extend(

first.length =i;

return

first;

},grep:

function

(elems, callback, invert)

}return

matches;

},map:

function

(elems, callback, arg) }}

else}}

return

},guid: 1,

proxy:

function

(fn, context)

if (!jquery.isfunction(fn))

args = slice.call(arguments, 2);

proxy = function

() ;

proxy.guid = fn.guid = fn.guid || jquery.guid++;

return

proxy;

}})

陣列化:

jquery.fn = jquery.prototype =,

makearray:

function

(arr, results)

else

}return

ret;

}}

型別判斷:isfunction、type、isarraylike

jquery.extend(,

isfunction:

function

(obj) ,

isarray: array.isarray,

iswindow:

function

(obj) ,

isnumeric:

function

(obj) ,

isplainobject:

function

(obj)

proto =getproto(obj);

if (!proto)

ctor = hasown.call(proto, "constructor") &&proto.constructor;

return

typeof ctor === "function" && fntostring.call(ctor) ===objectfunctionstring;

},isemptyobject:

function

(obj)

return

true

; }

})

事件繫結和解綁:on?

無衝突處理:noconflict

//

$可能為其他框架的符號

var _jquery = window.jquery, _$ =window.$;

jquery.exteng(

return

jquery;

}})

模組載入:初始化?

domready:利用domcontentloaded   這個介面屬於event 用法如下(來自mdn):

document.addeventlistener("domcontentloaded",callback)

第一節先這麼寫著,後面寫一些比較有意思的函式

JS框架設計讀書筆記之 節點模組

瀏覽器提供了多種手段建立api,從流行程度依次是document.createelement innerhtml insertadjacenthtml createcontextualfragment。document.createelement 傳入乙個標籤名,返回此型別的元素節點。對於瀏覽器不支...

JS框架設計讀書筆記之 動畫

css樣式可分為兩種,一種值接近無限的集合 color,width 一種值只有幾種 display 可以進行計算的樣式,產生了動畫效果。1.動畫的第一步是獲得元素的精確樣式值。2.若要做平移,傳入結束位置 距離 時長 fps。tips fps設定多少合適?除了人的眼睛,還要考慮到顯示器的顯示速度與瀏...

JS框架設計讀書筆記之 選擇器引擎02

以sizzle的主函式宣告為例,來說明引擎的相關概念。function sizzle selector,context,results,seed 種子集seed 如果css選擇器非常複雜,需要分幾步來得到結果,那麼第一次得到的元素集合就叫種子集。sizzle引擎的解析基本上是由右到左,種子集中的一部...