記錄看原始碼時候不太了解的知識點
matchesselector = element.matches ||element.webkitmatchesselector ||element.mozmatchesselector ||element.omatchesselector ||element.matchesselector
關於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,如果運算元能夠轉換為數值就直接取反並且減去一;
~obj //-1,{}.,undefined,null,false,nan,「」都轉化為數字0在取反
~str //-1對無法轉為數值的字串等,轉為0
//~的運算等級比.()優先順序低
運算子優先級別大概的邏輯是
取值》一元操作符(包含非運算子!)>算術運算》大小比較》相等不相等》邏輯與或》賦值》三元》逗號
function isplainobject(obj)
undefined和null的區別
undefined == null //如果str == null那麼str會有兩個值成立
typeof null === 'object'
typeof undefined === 'undefined'
判斷是否是類似的陣列物件,即有length屬性
function likearray(obj)
JFinal 原始碼知識點
1 jfinal中自帶json工具類,沒必要匯入其他的轉化包。使用 setattr status success renderjson 會將所有setattr 的,轉化成json格式。2 kit包中定義了一些工具類的擴充套件 例如 1 轉化json的工具 jsonkit.tojson str 2 加...
zepto原始碼分析
首先我們看一下如下 如何給乙個陣列物件新增其他方法 var arr 1,2,3 arr.proto concat array.prototype.concat,push array.prototype.push arr.push 4 1,2,3,4 arr.addclass addclass 我們修...
zepto原始碼結構
在引入zepto檔案以後,我們就可以使用zepto的方法,例如 selector 這是因為下面的 window.zepto zepto window.undefined window.zepto 複製 在window物件上,我們繫結了zepto,zepto這是乙個立即執行函式。如果 不存在,就把wi...