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