-
$.Deferred() $.when() $.Deferred()是基于$.callBacks()來(lái)開(kāi)發(fā)的 使用延遲而不是將所有需要同步的代碼寫(xiě)到一起的原因是: 如果寫(xiě)到一起要考慮作用域的問(wèn)題,用延遲對(duì)象不用考慮 $.Deferred和$.done是一對(duì),表示執(zhí)行成功時(shí)的處理 $.reject和$.fail是一對(duì),表示執(zhí)行失敗時(shí)的處理 $.notify和$.progress是一對(duì),表示執(zhí)行過(guò)程中的處理查看全部
-
最新jQuery2.1.1版本的結(jié)構(gòu): ;(function(global, factory) { factory(global); }(typeof window !== "undefined" ? window : this, function(window, noGlobal) { var jQuery = function( selector, context ) { return new jQuery.fn.init( selector, context ); }; jQuery.fn = jQuery.prototype = {}; // 核心方法 // 回調(diào)系統(tǒng) // 異步隊(duì)列 // 數(shù)據(jù)緩存 // 隊(duì)列操作 // 選擇器引 // 屬性操作 // 節(jié)點(diǎn)遍歷 // 文檔處理 // 樣式操作 // 屬性操作 // 事件體系 // AJAX交互 // 動(dòng)畫(huà)引擎 return jQuery; }));查看全部
-
需要同時(shí)使用jQuery和其他JavaScript庫(kù),可用 $.noConflict()把$的控制權(quán)交給其他庫(kù)。舊引用的$ 被保存在jQuery的初始化; noConflict() 簡(jiǎn)單的恢復(fù)它們。查看全部
-
CSS1-CSS3提供了非常多的選擇器,總的來(lái)說(shuō)我們可以分幾大類(lèi): 群組選擇器:逗號(hào)“,” 簡(jiǎn)單選擇器:ID、標(biāo)簽、類(lèi)、屬性、通配符 關(guān)系選擇器:孩子、后代、相鄰、兄弟 偽類(lèi)選擇器:動(dòng)作偽類(lèi)、目標(biāo)偽類(lèi)、語(yǔ)言偽類(lèi)、狀態(tài)偽類(lèi)、結(jié)構(gòu)偽類(lèi)、取反偽類(lèi) 群組選擇器用于分組合并多個(gè)處理的結(jié)構(gòu) selector1, selector2, selectorN 簡(jiǎn)單選擇器"#" "." "[" "*" ,這些都有內(nèi)置原生API的支持,不過(guò)存在兼容問(wèn)題。 屬性選擇器在CSS2.1中只有四種 [att] [att=val] [att~=val] [att|=val] 在CSS3中又增加了三種: [attr^=val] [attr$=val] [attr*=val] 當(dāng)然除此之外jQuery還實(shí)現(xiàn)了自定義的屬性選擇器: [attribute!='value'] [attributeFilter1][attributeFilter2][attributeFilterN] 關(guān)系選擇器 關(guān)系選擇器存在著關(guān)聯(lián),不能是單獨(dú)存在的。 ancestor descendant parent > child prev + next prev ~ siblings 偽類(lèi) 這個(gè)細(xì)分就很多了,jQuery把這些偽類(lèi)加工并擴(kuò)展成幾個(gè)大塊: 基本篩選器: eq get first lang It not odd root... 內(nèi)容篩選器: contains empty has parent... 可見(jiàn)篩選器: hidden visible 子元素篩選器: first-child nth-child only-child... 表單: bottom checkbox foucs input text...查看全部
-
通過(guò)new操作符構(gòu)建一個(gè)對(duì)象,一般經(jīng)過(guò)四步: A.創(chuàng)建一個(gè)新對(duì)象 B.將構(gòu)造函數(shù)的作用域賦給新對(duì)象(所以this就指向了這個(gè)新對(duì)象) C.執(zhí)行構(gòu)造函數(shù)中的代碼 D.返回這個(gè)新對(duì)象查看全部
-
通過(guò)下面的方式,可以講類(lèi)中的函數(shù)進(jìn)行私有化和公有化分開(kāi)處理: 1.在類(lèi)中定義一個(gè)json,其中都是公開(kāi)的函數(shù),然后調(diào)用類(lèi)中定義的函數(shù) 2.在new對(duì)象的時(shí)候,返回該json function AC() { var aa = function () { console.log('inner aa'); } publicMember = { aa: function () { console.log('public aa'); aa(); } } return publicMember; } var x = new AC(); x.aa();查看全部
-
JavaScript對(duì)于全局函數(shù)內(nèi)的this綁定為全局對(duì)象,而對(duì)于嵌套函數(shù)也采用了相同的解釋。 也就是說(shuō)嵌套函數(shù)中的this是全局對(duì)象。所以下面的函數(shù)實(shí)現(xiàn)不了期望 var me = { name : 'Jimbor', blog : 'http://jmedia.cn/', sayMyName : function(){ var pre = 'My name is: '; function displayName(){ alert(pre + this.name); } displayName(); } } me.sayMyName(); 執(zhí)行結(jié)果如下: My name is: 可以改為: var me = { name : 'Jimbor', blog : 'http://jmedia.cn/', sayMyName : function(){ var pre = 'My name is: '; function displayName(){ alert(pre + this.name); } displayName.apply(me); } } me.sayMyName(); 或: var me = { name : 'Jimbor', blog : 'http://jmedia.cn/', sayMyName : function(){ var pre = 'My name is: '; var that = this; function displayName(){ alert(pre + that.name); } displayName(); } } me.sayMyName();查看全部
-
jQuery中的callback是對(duì)函數(shù)進(jìn)行統(tǒng)一管理的 優(yōu)勢(shì)是對(duì)不同作用域的不同函數(shù)進(jìn)行統(tǒng)一管理 <script> $.extend({ ABL:$.Callbacks(), AB: { Add : function (fc) { $.ABL.add(fc); }, Ding: function (d) { $.ABL.fire(d); } } }) function aa(ct) { console.log('aa:' + ct); } $.AB.Add(aa); (function () { function bb(ct) { console.log('bb:' + ct); } $.AB.Add(bb); })() $.AB.Ding("hello,new AB comessfsdfs."); </script>查看全部
-
刪除js數(shù)組中的一個(gè)元素: this.move=function(fc){ var i = ar.indexOf(fc); if(i>=0){ ar.splice(i,1); } }查看全部
-
關(guān)于call函數(shù)的說(shuō)明: http://uule.iteye.com/blog/1158829查看全部
-
callback使用了觀察者模式 function aa() { console.log(11111); } function bb() { console.log(222222); } var cb = $.Callbacks(); cb.add(aa); cb.add(bb); cb.fire();查看全部
-
jQuery中的callback是對(duì)函數(shù)進(jìn)行統(tǒng)一管理的。查看全部
-
通過(guò)為css傳json來(lái)設(shè)置樣式 <script src="jquery-2.0.3.js"></script> <script> $(function () { $('div').css({ width:'200px', background:'yellow' }) }) </script> <div>asdasfasd</div> attr應(yīng)該也可以使用json查看全部
-
$.proxy的使用 function show(a) { console.log(a) console.log(this); } $.proxy(show,document)(111) $.proxy(show,document,111) $('div').click($.proxy(show,aabbbdd))查看全部
-
window.eval和eval是不同的。 window.eval(“var a=1”);可以是變量在全局看到 eval(“var a=1”)只能使變量在局部可見(jiàn)。 原因: window.eval是window的屬性,而單獨(dú)的eval是關(guān)鍵字, 注:如果這樣寫(xiě): var x=eval x("var a=1") 這樣寫(xiě)跟: window.eval("var a=1")是一樣的效果, 因?yàn)樵趯val賦值給x時(shí),eval是被看做window的屬性來(lái)使用的。查看全部
舉報(bào)
0/150
提交
取消