-
//?常見寫法 var?$$?=?ajQuery?=?function(selector)?{ ??this.selector?=?selector; ??return?this; } ajQuery.fn?=?ajQuery.prototype?=?{ ????selectorName:function(){ ????????return?this.selector; ????}, ????constructor:?ajQuery } var?a?=?new?$$('aaa');?//?實例化 //?得到選擇器名字 $("#test").html(a.selectorName()); //?源碼寫法 var?$$?=?ajQuery?=?function(selector)?{ ????//?把原型上的init作為構(gòu)造器 ????return?new?ajQuery.fn.init(selector); } ajQuery.fn?=?ajQuery.prototype?=?{ ????name:?"aaron", ????init:?function(){ ??????console.log(this); ????}, ????constructor:?ajQuery }
查看全部 -
對象的構(gòu)建
類一:
function?aJQuery(){ ????this.name?=?'jQuery'; ????this.sayName?=?function(){ ????????return?this.name; ????} } var?a?=?new?aJQuery(); var?b?=?new?aJQuery(); var?c?=?new?aJQuery();
類二:
function?aJQuery(){ ????this.name?=?"jQuery"; } aJQuery.prototype?=?function(){ ????sayName:function(){ ????????return?this.name; ????} } var?a?=?new?aJQuery(); var?b?=?new?aJQuery(); var?c?=?new?aJQuery();
查看全部 -
使用jQuery.noConflict();方法讓出$使用權(quán),防止引入多插件產(chǎn)生正面沖突。
查看全部 -
下面有一個父元素ul,嵌套了一個li節(jié)點:
- parent
- child
查看全部 -
而每個jQuery對象都有三個屬性:context、selector和prevObject,其中的prevObject屬性就指向這個對象棧中的前一個對象,而通過這個屬性可以回溯到最初的DOM元素集中。查看全部
-
這個原理就超簡單了,如下代碼: aQuery().init().name() 分解: a = aQuery(); a.init() a.name() 把代碼分解一下,很明顯實現(xiàn)鏈式的基本條件就是要實例對象先創(chuàng)建好,調(diào)用自己的方法查看全部
-
步驟: (1) 解析HTML結(jié)構(gòu)。 (2) 加載外部腳本和樣式表文件。 (3) 解析并執(zhí)行腳本代碼。 (4) 構(gòu)造HTML DOM模型。//ready (5) 加載圖片等外部文件。 (6) 頁面加載完畢。//load 從上面的描述中大家應(yīng)該已經(jīng)理解了吧,ready在第(4)步完成之后就執(zhí)行了,但是load要在第(6)步完成之后才執(zhí)行。查看全部
-
eady與load誰先執(zhí)行: 大家在面試的過程中,經(jīng)常會被問到一個問題:ready與load那一個先執(zhí)行,那一個后執(zhí)行?答案是ready先執(zhí)行,load后執(zhí)行。查看全部
-
jQuery內(nèi)部就采用了一種叫“類數(shù)組對象”的方式作為存儲結(jié)構(gòu),所以我們即可以像對象一樣處理jQuery操作,也能像數(shù)組一樣可以使用push、pop、shift、unshift、sort、each、map等類數(shù)組的方法操作jQuery對象了。查看全部
-
var ajQuery = function(a,b){
?return ajQuery.fn.prototype.init(a,b);
}
ajQuery.fn = ajQuery.prototype = {
????conturctor:ajQuery,
init:function(){
return this;
}
}
查看全部 -
$.noConflict(); //讓出控制權(quán)
查看全部 -
查看全部
-
get與eq的區(qū)別
?eq返回的是一個jQuery對象,get返回的是一個DOM對象。舉個例子:
$(?"li"?).get(?0?).css("color",?"red");?//錯誤 $(?"li"?).eq(?0?).css("color",?"red");?//正確
get方法本質(zhì)上是把jQuery對象轉(zhuǎn)換成DOM對象,但是css屬于jQuery構(gòu)造器的,DOM是不存在這個方法的,如果需要用jQuery的方法,我們必須這樣寫:
var?li?=?$(?"li"?).get(?0?); $(?li?).css("color",?"red");?//用$包裝
查看全部 -
DOMContentLoaded 這塊屬于什么知識查看全部
-
undefined并不是JavaScript的保留字查看全部
舉報