摘要:記錄看源碼時候不太了解的知識點關(guān)于新的選擇器之前只了解和,這個方法是匹配是否符合選擇器,返回值是但是大多不支持,需要用到瀏覽器前綴,有個不常用的運算符按位非運算符感覺是不實用的方法如果操作數(shù)能夠轉(zhuǎn)換為數(shù)值就直接取反并且減去一都轉(zhuǎn)化為數(shù)字
記錄看源碼時候不太了解的知識點
matchesSelector = element.matches ||element.webkitMatchesSelector ||element.mozMatchesSelector ||element.oMatchesSelector ||element.matchesSelector
關(guān)于H5新的選擇器api之前只了解querySeletor和querySeletorAll,MatchesSelector這個方法是匹配是否符合選擇器,返回值是true false;但是大多不支持,需要用到瀏覽器前綴,
let s = document.querySeletor("div").matchesSeletor(".theOne"); console.log(s); //true;
match = ~zepto.qsa(parent, selector).indexOf(element)
有個不常用的運算符按位非運算符~
感覺是不實用的方法
let num = 23, boo = false, obj = {}, arr = [], na = NaN, str = "abcdefg"; ~num //-24,如果操作數(shù)能夠轉(zhuǎn)換為數(shù)值就直接取反并且減去一; ~obj //-1,{}.[],undefined,null,false,NaN,“”都轉(zhuǎn)化為數(shù)字0在取反 ~str //-1對無法轉(zhuǎn)為數(shù)值的字符串等,轉(zhuǎn)為0 //~的運算等級比.[]()優(yōu)先級低
運算符優(yōu)先級別大概的邏輯是
取值>一元操作符(包含非運算符!)>算術(shù)運算>大小比較>相等不相等>邏輯與或>賦值>三元>逗號
function isPlainObject(obj) { return isObject(obj) && !isWindow(obj) && Object.getPrototypeOf(obj) == Object.prototype }
undefined和null的區(qū)別
undefined == null //如果str == null那么str會有兩個值成立
typeof null === "object"
typeof undefined === "undefined"
判斷是否是類似的數(shù)組對象,即有Length屬性
function likeArray(obj) { var length = !!obj && "length" in obj && obj.length, //綜合判斷obj是否存在,有l(wèi)ength屬性z如果都成立的話,最后取得Length的數(shù)值 type = $.type(obj) //判斷obj的類型 return "function" != type && !isWindow(obj) && (//是否是function ,window,array "array" == type || length === 0 || (typeof length == "number" && length > 0 && (length - 1) in obj) ) }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/89822.html
摘要:源碼結(jié)構(gòu)整體結(jié)構(gòu)如果在編輯器中將的源碼折疊起來,看到的就跟上面的代碼一樣。參考源碼分析代碼結(jié)構(gòu)對象思想與源碼分析設(shè)計和源碼分析源碼中關(guān)于的問題最后,所有文章都會同步發(fā)送到微信公眾號上,歡迎關(guān)注歡迎提意見 雖然最近工作中沒有怎么用 zepto ,但是據(jù)說 zepto 的源碼比較簡單,而且網(wǎng)上的資料也比較多,所以我就挑了 zepto 下手,希望能為以后閱讀其他框架的源碼打下基礎(chǔ)吧。 源碼版...
摘要:所有瀏覽器瀏覽器不支持安卓中中有屬性安卓中中有屬性有屬性的有屬性的所以在不需要的瀏覽器會直接掉,不會執(zhí)行下面的所有代碼。見源碼行,可以看出在響應(yīng)無操作后,則觸發(fā)。 其實一直就想花些時間讀一讀那些優(yōu)秀的開源庫,今天終于下了決定打算死磕下自己,2016年每個月讀2-3個優(yōu)秀的開源庫,把源碼精彩的地方和自己心得分享給大家。 目錄 (一)背景(二)源碼解析(三)Zepto 點擊穿透與 Fast...
摘要:本文記錄,對的一些封裝庫的知識,我希望從本文開始去深入學(xué)習(xí)這門語言,以及在面向?qū)ο?,原型上封裝的使用。讓自己在方面有能夠有一定進(jìn)步。 本文記錄jQuery,Zepto對js的一些封裝庫的知識,我希望從本文開始去深入學(xué)習(xí)js這門語言,以及在面向?qū)ο?,原型上封裝的使用。讓自己在js方面有能夠有一定進(jìn)步。共勉 jQuery庫 簡單的jQuery庫的實現(xiàn) 需要先了解閉包,立即執(zhí)行函數(shù)以及Jav...
摘要:形如源代碼在的原型上添加了相關(guān)方法。類似源代碼每個表單的和都通過編碼最后通過符號分割有了的基礎(chǔ),就是將相應(yīng)的和都通過編碼,然后用符號進(jìn)行分割,也就達(dá)到了我們要的結(jié)果。 前言 JavaScript最初的一個應(yīng)用場景就是分擔(dān)服務(wù)器處理表單的責(zé)任,打破處處依賴服務(wù)器的局面,這篇文章主要介紹zepto中form模塊關(guān)于表單處理的幾個方法,serialize、serializeArray、sub...
閱讀 2400·2021-10-11 10:59
閱讀 2655·2021-10-11 10:58
閱讀 3365·2021-09-08 09:35
閱讀 3941·2021-09-02 15:21
閱讀 1537·2019-08-30 15:53
閱讀 2681·2019-08-29 14:16
閱讀 2130·2019-08-26 14:00
閱讀 3016·2019-08-26 13:52