本質(zhì)上的區(qū)別
創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、麻栗坡網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、麻栗坡網(wǎng)絡(luò)營銷、麻栗坡企業(yè)策劃、麻栗坡品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供麻栗坡建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com
jQuery是一個(gè)JavaScript函數(shù)庫。jQuery就是基于JavaScript語言寫出來的一個(gè)框架,實(shí)質(zhì)上還是JavaScript而已。
代碼書寫的不同
jQuery 簡化了 JavaScript 編程,jQuery代碼比JavaScript輕靈,jquery設(shè)計(jì)的初衷就是要用很少的代碼,完成很多的功能。
使用方法上的不同
(1)使用JavaScript和jQuery分別加載DOM:
JavaScript只會(huì)執(zhí)行一次,而jQuery會(huì)執(zhí)行多次。
(2)使用JavaScript和jQuery獲取class方法:
JavaScript沒有默認(rèn)的獲取class的方法 ,而JQuery可以通過$('.className') 調(diào)用class的方法。
jquery是建構(gòu)在javascript之上的框架。。。JAVASCRIPT是編程語言,寫JAVASCRIPT的過程,就是一種真正的編程。。。而jquery可以看作是在JAVASCRIPT上套了一層皮。。讓你不需要懂編程,可以用一兩行代碼,就實(shí)現(xiàn)JAVASCRIPT寫幾百行代碼才能實(shí)現(xiàn)的效果。。
最好是兩個(gè)都學(xué),如果要二選一,則在于你要不要學(xué)后端。。。如果你想學(xué)完前端之后,還打算學(xué)后端,就要把JAVASCRIPT學(xué)的特別透徹,這樣以后你可以學(xué)習(xí)Node.JS,來掌握后端開發(fā)。。不過說句題外話,后端的水比前端深多了,js,PHP,Python之類的動(dòng)態(tài)語言,其實(shí)只能解決一部分后端問題。真正全方位的后端解決方案,就只有Java和C#這兩種靜態(tài)語言。所以Node可以學(xué),但學(xué)得再牛,也不等于精通后端。可學(xué)了總比不學(xué)強(qiáng),而且結(jié)合Typescript來使用,Node也能勝任一些中型級(jí)別的項(xiàng)目。
如果你只學(xué)前端,而確定以后也不接觸后端,可以主要學(xué)習(xí)jquery。。。因?yàn)閖query比javascript要簡單非常多(對于大項(xiàng)目來說,上百倍的差距)。。卻可以解決前端80%的問題,剩下的20%再用javascript解決便可
如果把web比作修照片,兩者的區(qū)別就像PS和美圖秀秀的關(guān)系。。。。。使用美圖秀秀修照片,你什么都不需要懂,點(diǎn)一下鼠標(biāo),就出一個(gè)效果。。幾十張照片,一會(huì)就修完了。。。而且效果很棒。。這就等同于jquery。。
如果用PS來修,需要學(xué)調(diào)色啊,透視啊,通道啊,矢量啊,等一堆知識(shí)。。費(fèi)勁折騰好幾天,也許才勉強(qiáng)修完一兩張,最終效果還一般般。。但JAVASCRIPT畢竟是編程啊,可以把你的想法實(shí)現(xiàn)出來。而jquery則是“有啥用啥”。
如果把js比作面條,那么jq就是方便面,前者需要你經(jīng)過一些比較復(fù)雜的操作才能吃進(jìn)嘴里,而后者則事先已經(jīng)幫你做好了一切,你只需用開水泡一泡就能吃了。簡言之,jq把js常用的功能代碼封裝為方便調(diào)用的代碼庫(或者說框架),提供了簡便的js設(shè)計(jì)模式,優(yōu)化網(wǎng)頁文檔操作、事件處理、動(dòng)畫設(shè)計(jì)和Ajax交互等。
再來個(gè)通俗的比喻幫助你理解:用原生js編程,就好比自己買菜買肉買米買面回家自己做飯吃,雖然過程比較繁瑣辛苦,但能夠做出有自己特色的飯菜(當(dāng)然可能好吃也可能不好吃);而用jq則相當(dāng)于下館子或者點(diǎn)外賣,食物都是別人做好的,自己不懂做飯也沒關(guān)系,會(huì)吃就行,而且飯菜的質(zhì)量一般也是有保障的。
jquery是js(JavaScript)的框架,底層還是JavaScript,幫助我們更加簡便的使用JavaScript來實(shí)現(xiàn)各種功能。因此,學(xué)好JavaScript,那么對基于js封裝而來的各種框架都是比較容易上手的。
如果滿意,望采納!提問者的點(diǎn)贊和采納就是我們的動(dòng)力和追求,謝謝!
JavaScript 是一種腳本語言,主要用在瀏覽器中,實(shí)現(xiàn)對網(wǎng)頁的文檔對象的操作和一些用戶交互動(dòng)作的處理。
而 jQuery 則是 JavaScript 的一個(gè)代碼庫(或習(xí)慣性叫類庫),它將一些在 JavaScript 開發(fā)中經(jīng)常用到的功能集合起來,以方便開發(fā)者直接使用,而不需要再用原生 JavaScript 語句寫大量代碼,同時(shí)可在不同瀏覽器間實(shí)現(xiàn)一致的效果。是當(dāng)前最流行的 JavaScript 庫之一。
擴(kuò)展資料:
jquery和javascrip都是腳本語言,
腳本語言又被稱為擴(kuò)建的語言,或者動(dòng)態(tài)語言,是一種編程語言,用來控制軟件應(yīng)用程序,腳本通常以文本(如ASCII)保存,只在被調(diào)用時(shí)進(jìn)行解釋或編譯。
特點(diǎn):
1、腳本語言(JavaScript,VBscript等)介于HTML和C,C++,Java,C#等編程語言之間?!TML通常用于格式化和鏈接文本。而編程語言通常用于向機(jī)器發(fā)出一系列復(fù)雜的指令。
2、腳本語言與編程語言也有很多相似地方,其函數(shù)與編程語言比較相像一些,其也涉及到變量。與編程語言之間最大的區(qū)別是編程語言的語法和規(guī)則更為嚴(yán)格和復(fù)雜一些.
3、與程序代碼的關(guān)系:腳本也是一種語言,其同樣由程序代碼組成。
4、腳本語言是一種解釋性的語言,例如Python、vbscript,javascript,installshield script,ActionScript等等,它不象c\c++等可以編譯成二進(jìn)制代碼,以可執(zhí)行文件的形式存在,腳本語言不需要編譯,可以直接用,由解釋器來負(fù)責(zé)解釋。
5、腳本語言一般都是以文本形式存在,類似于一種命令。
舉個(gè)例子說:如果建立了一個(gè)程序,叫aaa.exe,可以打開.aa為擴(kuò)展名的文件,為.aa文件的編寫指定了一套規(guī)則(語法),當(dāng)別人編寫了.aa文件后,自己的程序用這種規(guī)則來理解編寫人的意圖,并作出回應(yīng),那么,這一套規(guī)則就是腳本語言。
6、相對于編譯型計(jì)算機(jī)編程語言:用腳本語言開發(fā)的程序在執(zhí)行時(shí),由其所對應(yīng)的解釋器(或稱虛擬機(jī))解釋執(zhí)行。系統(tǒng)程序設(shè)計(jì)語言是被預(yù)先編譯成機(jī)器語言而執(zhí)行的。腳本語言的主要特征是:程序代碼即是腳本程序,亦是最終可執(zhí)行文件。腳本語言可分為獨(dú)立型和嵌入型,獨(dú)立型腳本語言在其執(zhí)行時(shí)完全依賴于解釋器,而嵌入型腳本語言通常在編程語言中(如C,C++,VB,Java等)被嵌入使用。
7、和系統(tǒng)程序設(shè)計(jì)語言相比:不同是腳本語言是被解釋而系統(tǒng)程序設(shè)計(jì)語言是被編譯。被解釋的語言由于沒有編譯時(shí)間而提供快速的轉(zhuǎn)換,通過允許用戶運(yùn)行時(shí)編寫應(yīng)用程序,而不需要耗時(shí)的編譯/打包過程。解釋器使應(yīng)用程序更加靈活,腳本語言的代碼能夠被實(shí)時(shí)生成和執(zhí)行。腳本語言通常都有簡單、易學(xué)、易用的特性,目的就是希望能讓程序設(shè)計(jì)師快速完成程序的編寫工作。
參考資料:百度百科-腳本語言
一、JQuery對象和DOM對象的相互轉(zhuǎn)化(《鋒利的JQuery》)
JQuery轉(zhuǎn)化為DOM:
1、var jq = $(‘#selector'); var dom = jq[index];
2、var jq1 = $(‘#selector1'); var dom1 = jq1.get(index) 或者 var dom1 = jq1.get()[index];
DOM轉(zhuǎn)化為JQuery:
假設(shè)cr是一個(gè)DOM對象,轉(zhuǎn)為JQuery,jqcr = $(‘cr');
二、JQuery的$(document).ready()和JavaScript的window.onload()的區(qū)別(《鋒利的JQuery》)
1、執(zhí)行時(shí)機(jī)
window.onload必須等待網(wǎng)頁中所有資源(包括圖片)加載完成后才能執(zhí)行,而$(document).ready()在所有DOM結(jié)構(gòu)繪制完畢后就執(zhí)行,但是可能與DOM相關(guān)聯(lián)的資源還沒有加載完畢。
2、編寫個(gè)數(shù)
一個(gè)文檔中,window.onload只有是一個(gè),而$(document).ready()可以有多個(gè)
3、簡化方法
window.onload沒有簡寫形式,$(document).ready()可以簡寫為$(function(){}).
三、JQuery和JavaScript中訪問屬性名稱的區(qū)別(《JQuery實(shí)戰(zhàn)》)
JQuery規(guī)范名稱 DOM規(guī)范
cellspacing cellSpacing
class className
colspan colSpan
cssFloat IE中是styleFloat,其他瀏覽器是cssFloat
float IE中是styleFloat,其他瀏覽器是cssFloat
for htmlFor
frameborder frameBorder
maxLength maxLength
readonly readOnly
rowspan rowSpan
stylefloat IE中是styleFloat,其他瀏覽器是cssFloat
tabindex tabIndex
usemap useMap
四、沖突
DOM理論上不會(huì)有沖突產(chǎn)生,JQuery防止沖突產(chǎn)生的兩種解決方法:(《鋒利的JQuery》)
1、JQuery庫在其他庫之后導(dǎo)入
調(diào)用JQuery。noConflict()方法將$控制權(quán)給其他庫使用,或者自定義快捷方式,$j = JQuery.noConflict();
2、JQuery庫在其他庫之前導(dǎo)入
直接使用JQuery代替$工作,同時(shí)$可以作為其他庫的快捷方式。