該模組是框架最先執行的部分,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引擎的解析基本上是由右到左,種子集中的一部...