第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
  • gc
    sizzle:將近兩千行代碼,主要實(shí)現(xiàn)一個(gè)復(fù)雜選擇器的。實(shí)現(xiàn)比較復(fù)雜。 比如:$("ul li + p input.class") 就是通過sizzle來查詢的。 sizzle是獨(dú)立的部分,在jquery官網(wǎng)可以單獨(dú)下載這部分代碼。
    查看全部
  • gc
    jQuery.extend擴(kuò)展一些工具方法。 兩種調(diào)用方法: $().css() =>實(shí)例方法 $.trim =>工具方法、靜態(tài)方法 靜態(tài)方法是底層的東西,實(shí)例方法是更高一層的方法 很多實(shí)例方法中調(diào)用的是靜態(tài)方法
    查看全部
  • gc
    extend是JQ的繼承方法。 后續(xù)添加的方法可以用extend來加載到j(luò)Query中。
    查看全部
  • gc
    通過下面的方法將jquery中定義的函數(shù)掛載到window對象上,這樣就可以供外界使用了: window.jQuery=window.$=jQuery; 所以說,在外界使用時(shí),jQuery和$是一樣的。
    查看全部
  • gc
    把所有的代碼都寫在 自執(zhí)行 函數(shù)里面,這樣外面是看不到這個(gè)函數(shù)里定義的變量或者函數(shù),這樣可以防止沖突
    查看全部
  • gc
    jQuery設(shè)計(jì)理念 引用百科的介紹: jQuery是繼prototype之后又一個(gè)優(yōu)秀的Javascript框架。它是輕量級的js庫 ,它兼容CSS3,還兼容各種瀏覽器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后續(xù)版本將不再支持IE6/7/8瀏覽器。jQuery使用戶能更方便地處理HTML(標(biāo)準(zhǔn)通用標(biāo)記語言下的一個(gè)應(yīng)用)、events、實(shí)現(xiàn)動(dòng)畫效果,并且方便地為網(wǎng)站提供AJAX交互。jQuery還有一個(gè)比較大的優(yōu)勢是,它的文檔說明很全,而且各種應(yīng)用也說得很詳細(xì),同時(shí)還有許多成熟的插件可供選擇。jQuery能夠使用戶的html頁面保持代碼和html內(nèi)容分離,也就是說,不用再在html里面插入一堆js來調(diào)用命令了,只需定義id即可。 The Write Less,Do More(寫更少,做更多),無疑就是jQuery的核心理念,簡潔的API、優(yōu)雅的鏈?zhǔn)?、?qiáng)大的查詢與便捷的操作。從而把jQuery打造成前端世界的一把利劍,所向披靡! 簡潔的API: $.on $.css $.ajax …. 優(yōu)雅的鏈?zhǔn)? var jqxhr = $.ajax( "example.php" ) .done(function() { alert("success"); }) .fail(function() { alert("error"); }) .always(function() { alert("complete"); }); 強(qiáng)大的選擇器: $("div, span, p.myClass" ) $("div span:first-child") $("tr:visible") … 便捷的操作: $("p").removeClass("myClass noClass").addClass("yourClass"); $("ul li:last").addClass(function(index) { return"item-" + index; }); $('.container').append($('h2')); …
    查看全部
  • gc
    五大塊: jQuery按我的理解分為五大塊,選擇器、DOM操作、事件、AJAX與動(dòng)畫,那么為什么有13個(gè)模塊?因?yàn)閖Query的設(shè)計(jì)中最喜歡的做的一件事,就是抽出共同的特性使之“模塊化”,當(dāng)然也是更貼近S.O.L.I.D五大原則的“單一職責(zé)SRP”了,遵守單一職責(zé)的好處是可以讓我們很容易地來維護(hù)這個(gè)對象,比如,當(dāng)一個(gè)對象封裝了很多職責(zé)的時(shí)候,一旦一個(gè)職責(zé)需要修改,勢必會(huì)影響該對象的其它職責(zé)代碼。通過解耦可以讓每個(gè)職責(zé)更加有彈性地變化。 我們來看看jQuery文檔針對業(yè)務(wù)層的Ajax的處理提供了一系列的門面接口: .ajaxComplete() .ajaxError() .ajaxSend() .ajaxStart() .ajaxStop() .ajaxSuccess() 底層接口: jQuery.ajax() jQuery.ajaxSetup() 快捷方法: jQuery.get() jQuery.getJSON() jQuery.getScript() jQuery.post() jQuery接口的設(shè)計(jì)原理 業(yè)務(wù)邏輯是復(fù)雜多變的,jQuery的高層API數(shù)量非常多,而且也非常的細(xì)致,這樣做可以更友好的便于開發(fā)者的操作,不需要必須在一個(gè)接口上重載太多的動(dòng)作。我們在深入內(nèi)部看看Ajax的高層方法其實(shí)都是統(tǒng)一調(diào)用了一個(gè)靜態(tài)的jQuery.ajax方法,代碼見右側(cè)代碼編輯器(27-43行)。 在jQuery.ajax的內(nèi)部實(shí)現(xiàn)是非常復(fù)雜的,首先ajax要考慮異步的處理與回調(diào)的統(tǒng)一性,所以就引入了異步隊(duì)列模塊(Deferred)與回調(diào)模塊(Callbacks), 所以要把這些模塊方法在ajax方法內(nèi)部再次封裝成、構(gòu)建出一個(gè)新的jQXHR對象,針對參數(shù)的默認(rèn)處理,數(shù)據(jù)傳輸?shù)母袷交鹊取?
    查看全部
  • gc
    jQuery整體架構(gòu) 任何程序代碼不是一開始就復(fù)雜的,成功也不是一躇而蹴的,早期jQuery的作者John Resig在2005年提議改進(jìn)Prototype的“Behaviour”庫時(shí),只是想讓其使用更簡單才發(fā)布新的jQuery框架。起初John Resig估計(jì)也沒料想jQuery會(huì)如此的火熱。我們可以看到從發(fā)布的第一個(gè)1.0開始到目前最新的2.1.1其代碼膨脹到了9000多行,它兼容CSS3,還兼容各種瀏覽器,jQuery使用戶能更方便地處理DOM、事件、實(shí)現(xiàn)動(dòng)畫效果,并且方便地為網(wǎng)站提供AJAX交互。 1、最新jQuery2.1.1版本的結(jié)構(gòu): 代碼請查看右側(cè)代碼編輯器(1-24行) 2、jQuery的模塊依賴網(wǎng): (單擊圖片可放大) jQuery一共13個(gè)模塊,從2.1版開始jQuery支持通過AMD模塊劃分,jQuery在最開始發(fā)布的1.0版本是很簡單的,只有CSS選擇符、事件處理和AJAX交互3大塊。其發(fā)展過程中,有幾次重要的變革: ? 1.2.3 版發(fā)布,引入數(shù)據(jù)緩存,解決循環(huán)引用與大數(shù)據(jù)保存的問題 ? 1.3 版發(fā)布,它使用了全新的選擇符引擎Sizzle,在各個(gè)瀏覽器下全面超越其他同類型JavaScript框架的查詢速度,程序庫的性能也因此有了極大提升 ? 1.5 版發(fā)布,新增延緩對像(Deferred Objects),并用deferred重寫了Ajax模塊 ? 1.7 版發(fā)布,抽象出回調(diào)對象,提供了強(qiáng)大的的方式來管理回調(diào)函數(shù)列表。 每一次大的改進(jìn)都引入了一些新的機(jī)制、新的特性,通過這些新的機(jī)制就造就了如今jQuery庫,一共13個(gè)模塊,模塊不是單一的,比如jQuery動(dòng)畫,都會(huì)依賴異步隊(duì)列、動(dòng)畫隊(duì)列、回調(diào)隊(duì)列與數(shù)據(jù)緩存模塊等。 jQuery抽出了所有可復(fù)用的特性,分離出單一模塊,通過組合的用法,不管在設(shè)計(jì)思路與實(shí)現(xiàn)手法上jQuery都是非常高明的。
    查看全部
  • undefined并不是JavaScript的保留字。
    查看全部
  • 但因?yàn)槠ヅ涞那闆r遠(yuǎn)遠(yuǎn)低于不匹配的情況,所以逆向匹配帶來的優(yōu)勢是巨大的。同時(shí)我們也能夠看出,在選擇器結(jié)尾加上「*」就大大降低了這種優(yōu)勢,這也就是很多優(yōu)化原則提到的盡量避免在選擇器末尾添加通配符的原因。
    查看全部
    0 采集 收起 來源:CSS的解析原理

    2014-11-27

  • 一個(gè)是ready一個(gè)是load,這兩個(gè)到底有什么區(qū)別呢? ready與load誰先執(zhí)行: 大家在面試的過程中,經(jīng)常會(huì)被問到一個(gè)問題:ready與load那一個(gè)先執(zhí)行,那一個(gè)后執(zhí)行?答案是ready先執(zhí)行,load后執(zhí)行。 DOM文檔加載的步驟: 要想理解為什么ready先執(zhí)行,load后執(zhí)行就要先了解下DOM文檔加載的步驟: (1) 解析HTML結(jié)構(gòu)。 (2) 加載外部腳本和樣式表文件。 (3) 解析并執(zhí)行腳本代碼。 (4) 構(gòu)造HTML DOM模型。//ready (5) 加載圖片等外部文件。 (6) 頁面加載完畢。//load ready與load的區(qū)別就在于資源文件的加載,ready構(gòu)建了基本的DOM結(jié)構(gòu),所以對于代碼來說應(yīng)該越快加載越好。所以對于框架來說用戶體驗(yàn)是至關(guān)重要的,我們應(yīng)該越早處理DOM越好,我們不需要等到圖片資源都加載后才去處理框架的加載,圖片資源過多l(xiāng)oad事件就會(huì)遲遲不會(huì)觸發(fā)。 我們看看jQuery是如何處理文檔加載時(shí)機(jī)的問題: jQuery.ready.promise = function( obj ) { if ( !readyList ) { readyList = jQuery.Deferred(); if ( document.readyState === "complete" ) { // Handle it asynchronously to allow scripts the opportunity to delay ready setTimeout( jQuery.ready ); } else { document.addEventListener( "DOMContentLoaded", completed, false ); window.addEventListener( "load", completed, false ); } } return readyList.promise( obj ); };
    查看全部
  • 1:匿名函數(shù)格式:要調(diào)用一個(gè)函數(shù),我們必須要有方法定位它、引用它。所以,我們要取一個(gè)名字 jQuery使用()將匿名函數(shù)括起來,然后后面再加一對小括號(包含參數(shù)列表),那么這小括號能把我們的表達(dá)式組合分塊,并且每一塊(也就是每一對小括號),都有一個(gè)返回值。這個(gè)返回值實(shí)際上也就是小括號中表達(dá)式的返回值。所以,當(dāng)我們用一對小括號把匿名函數(shù)括起來的時(shí)候,實(shí)際上小括號返回的,就是一個(gè)匿名函數(shù)的Function對象。因此,小括號對加上匿名函數(shù)就如同有名字的函數(shù)般被我們?nèi)〉盟囊梦恢昧?。所以如果在這個(gè)引用變量后面再加上參數(shù)列表,就會(huì)實(shí)現(xiàn)普通函數(shù)的調(diào)用形式。 var jQuery = function(){ //代碼邏輯 } 2:其實(shí)這個(gè)undefined并不是JavaScript數(shù)據(jù)類型的undefined,而是一個(gè)普普通通的變量名。只是因?yàn)闆]給它傳遞值,它的值就是undefined,undefined并不是JavaScript的保留字。 3:jQuery為什么要?jiǎng)?chuàng)建這樣的一個(gè)外層包裹,其原理又是如何? 這里要區(qū)分2個(gè)概念一個(gè)是匿名函數(shù),一個(gè)是自執(zhí)行。顧名思義,匿名函數(shù),就是沒有函數(shù)名的函數(shù),也就是不存在外部引用。
    查看全部
  • 理解回調(diào)函數(shù)最重要的2點(diǎn): 1、一個(gè)回調(diào)函數(shù)作為參數(shù)傳遞給另一個(gè)函數(shù)是,我們僅僅傳遞了函數(shù)定義。我們并沒有在參數(shù)中執(zhí)行函數(shù)。我們并不傳遞像我們平時(shí)執(zhí)行函數(shù)一樣帶有一對執(zhí)行小括號()的函數(shù) 2、回調(diào)函數(shù)并不會(huì)馬上被執(zhí)行,它會(huì)在包含它的函數(shù)內(nèi)的某個(gè)特定時(shí)間點(diǎn)被“回調(diào)”。
    查看全部
  • 通過new操作符構(gòu)建一個(gè)對象,一般經(jīng)過四步: A.創(chuàng)建一個(gè)新對象 B.將構(gòu)造函數(shù)的作用域賦給新對象(所以this就指向了這個(gè)新對象) C.執(zhí)行構(gòu)造函數(shù)中的代碼 D.返回這個(gè)新對象
    查看全部
  • DOM文檔加載的步驟: (1) 解析HTML結(jié)構(gòu)。 (2) 加載外部腳本和樣式表文件。 (3) 解析并執(zhí)行腳本代碼。 (4) 構(gòu)造HTML DOM模型。//ready (5) 加載圖片等外部文件。 (6) 頁面加載完畢。//load
    查看全部

舉報(bào)

0/150
提交
取消
課程須知
源碼的閱讀不是一蹴而就的,需要大家有一定的功底,比如jQuery的基礎(chǔ)運(yùn)用以及API的熟悉度,除此之外要有牢固的javascript、DOM、CSS的基礎(chǔ)功底,甚至還需要理解常見的設(shè)計(jì)模式、數(shù)據(jù)結(jié)構(gòu)等等。當(dāng)然大家也不要被這些給嚇住了,理解,總是需要一種慢慢的學(xué)習(xí)過程。
老師告訴你能學(xué)到什么?
通過本課程的學(xué)習(xí),您可以由淺入深地剖析jQuery庫的設(shè)計(jì)與實(shí)現(xiàn)。 其中我們圍繞的重心: 1、設(shè)計(jì)理念 2、結(jié)構(gòu)組織 3、接口設(shè)計(jì) 4、模式運(yùn)用 5、場景套用

微信掃碼,參與3人拼團(tuán)

微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

友情提示:

您好,此課程屬于遷移課程,您已購買該課程,無需重復(fù)購買,感謝您對慕課網(wǎng)的支持!