jquery的工作原理與簡介
jquery的工作原理與簡介
jQuery是一個(gè)快速、簡潔的JavaScript框架,是繼Prototype之后又一個(gè)優(yōu)秀的JavaScript代碼庫,以下是由學(xué)習(xí)啦小編整理關(guān)于什么是jquery的內(nèi)容,希望大家喜歡!
jquery的編程開發(fā)
運(yùn)行jQuery所需的條件很簡單:一臺(tái)計(jì)算機(jī)、一個(gè)智能電話或一個(gè)可以運(yùn)行現(xiàn)代瀏覽器的設(shè)備。jQuery對(duì)瀏覽器的要求也相當(dāng)自由。官方網(wǎng)站列出了下列支持jQuery的瀏覽器:
FirefoX 2.0+
Internet Explorer 6+
Safari 3+
Opera 10.6+
Chrome 8+
編程工具
Notepad++:一套有特色的自由軟件的純文字編輯器,有完整的中文化接口及支持多國語言編寫的功能。它的功能比Windows中的 Notepad(記事本)強(qiáng)大,除了可以用來制作一般的純文字說明文件,也十分適合當(dāng)作編寫電腦程序的編輯器。Notepad++ 不僅有語法高亮度顯示,也有語法折疊功能,并且支持宏以及擴(kuò)充基本功能的外掛模組。
Brackets:一個(gè)免費(fèi)、開源且跨平臺(tái)的 HTML/CSS/JavaScript 前端 WEB 集成開發(fā)環(huán)境 (IDE工具)。該項(xiàng)目由 Adobe 創(chuàng)建和維護(hù),根據(jù)MIT許可證發(fā)布,支持Windows、Linux平臺(tái)。Brackets的特點(diǎn)是簡約、優(yōu)雅、快捷,它的核心目標(biāo)是減少在開發(fā)過程中那些效率低下的重復(fù)性工作,例如瀏覽器刷新,修改元素的樣式,搜索功能等等。
JS Nice:一款讓經(jīng)過混淆處理的JavaScript代碼可讀更好的工具。它使用一種用于JavaScript代碼美化的去混淆和去壓縮引擎。JSNice采用先進(jìn)的機(jī)器學(xué)習(xí)和程序分析技術(shù),從可用的開源項(xiàng)目學(xué)習(xí)命名和類型規(guī)律。
jquery的語言特點(diǎn)
快速獲取文檔元素
jQuery的選擇機(jī)制構(gòu)建于Css的選擇器,它提供了快速查詢DOM文檔中元素的能力,而且大大強(qiáng)化了JavaScript中獲取頁面元素的方式。
提供漂亮的頁面動(dòng)態(tài)效果
jQuery中內(nèi)置了一系列的動(dòng)畫效果,可以開發(fā)出非常漂亮的網(wǎng)頁,許多網(wǎng)站都使用jQuery的內(nèi)置的效果,比如淡入淡出、元素移除等動(dòng)態(tài)特效。
創(chuàng)建AJAX無刷新網(wǎng)頁
AJAX是異步的JavaScript和ML的簡稱,可以開發(fā)出非常靈敏無刷新的網(wǎng)頁,特別是開發(fā)服務(wù)器端網(wǎng)頁時(shí),比如PHP網(wǎng)站,需要往返地與服務(wù)器通信,如果不使用AJAX,每次數(shù)據(jù)更新不得不重新刷新網(wǎng)頁,而使用AJAX特效后,可以對(duì)頁面進(jìn)行局部刷新,提供動(dòng)態(tài)的效果。
提供對(duì)JavaScript語言的增強(qiáng)
jQuery提供了對(duì)基本JavaScript結(jié)構(gòu)的增強(qiáng),比如元素迭代和數(shù)組處理等操作。
增強(qiáng)的事件處理
jQuery提供了各種頁面事件,它可以避免程序員在HTML中添加太事件處理代碼,最重要的是,它的事件處理器消除了各種瀏覽器兼容性問題。
更改網(wǎng)頁內(nèi)容
jQuery可以修改網(wǎng)頁中的內(nèi)容,比如更改網(wǎng)頁的文本、插入或者翻轉(zhuǎn)網(wǎng)頁圖像,jQuery簡化了原本使用JavaScript代碼需要處理的方式。
jquery的工作原理
jQuery的模塊可以分為3部分:入口模塊、底層支持模塊和功能模塊。
在構(gòu)造jQuery對(duì)象模塊中,如果在調(diào)用構(gòu)造函數(shù)jQuery()創(chuàng)建jQuery對(duì)象時(shí)傳入了選擇器表達(dá)式,則會(huì)調(diào)用選擇器Sizzle(一款純JavaScript實(shí)現(xiàn)的CSS選擇器引擎,用于查找與選擇器表達(dá)式匹配的元素集合)遍歷文檔,查找與之匹配的DOM元素,并創(chuàng)建一個(gè)包含了這些DOM元素引用的jQuery對(duì)象。
瀏覽器功能測(cè)試模塊提供了針對(duì)不同瀏覽器功能和bug的測(cè)試結(jié)果,其他模塊則基于這些測(cè)試結(jié)果來解決瀏覽器之間的兼容性問題。
在底層支持模塊中,回調(diào)函數(shù)列表模塊用于增強(qiáng)對(duì)回調(diào)函數(shù)的管理,支持添加、移除、觸發(fā)、鎖定、禁用回調(diào)函數(shù)等功能;異步隊(duì)列模塊用于解耦異步任務(wù)和回調(diào)函數(shù),它在回調(diào)函數(shù)列表的基礎(chǔ)上為回調(diào)函數(shù)增加了狀態(tài),并提供了多個(gè)回調(diào)函數(shù)列表,支持傳播任意同步或異步回調(diào)函數(shù)的成功或失敗狀態(tài);數(shù)據(jù)緩存模塊用于為DOM元素和Javascript對(duì)象附加任意類型的數(shù)據(jù);隊(duì)列模塊用于管理一組函數(shù),支持函數(shù)的人隊(duì)和出隊(duì)操作,并確保函數(shù)按順序執(zhí)行,它基于數(shù)據(jù)緩存模塊實(shí)現(xiàn)。
在功能模塊中,事件系統(tǒng)提供了統(tǒng)一的事件綁定、響應(yīng)、手動(dòng)觸發(fā)和移除機(jī)制,它并沒有將事件直接綁定到DOM元素上,而是基于數(shù)據(jù)緩存模塊來管理事件;Ajax模塊允許從服務(wù)器上加載數(shù)據(jù),而不用刷新頁面,它基于異步隊(duì)列模塊來管理和觸發(fā)回調(diào)函數(shù);動(dòng)畫模塊用于向網(wǎng)頁中添加動(dòng)畫效果,它基于隊(duì)列模塊來管理和執(zhí)行動(dòng)畫函數(shù);屬性操作模塊用于對(duì)HTML屬性和DOM屬性進(jìn)行讀取、設(shè)置和移除操作;DOM遍歷模塊用于在DoM樹中遍歷父元素、子元素和兄弟元素;DOM操作模塊用于插人、移除、復(fù)制和替換DOM元素;樣式操作模塊用于獲取計(jì)算樣式或設(shè)置內(nèi)聯(lián)樣式;坐標(biāo)模塊用于讀取或設(shè)置DOM元素的文檔坐標(biāo);尺寸模塊用于獲取DOM元素的高度和寬度。
看過“jquery的工作原理”的人還看了:
1.怎么使用jquery實(shí)現(xiàn)鼠標(biāo)停止移動(dòng)事件
3.jQuery實(shí)現(xiàn)鼠標(biāo)懸停顯示提示信息窗口
4.jQuery實(shí)現(xiàn)鼠標(biāo)單擊網(wǎng)頁文字后在文本框顯示