JavaScript是什么
JavaScript是一門編程語言蚂四。是web前端開發(fā)技術(shù)棧中最重要的一環(huán)啰劲。主要功能是用于給靜態(tài)web頁面添加交互能力,使用靜態(tài)網(wǎng)頁向動(dòng)態(tài)網(wǎng)頁轉(zhuǎn)化。在JavaScript還沒有很好的使用起來的時(shí)候扎谎,大部分的web網(wǎng)頁都是靜態(tài)網(wǎng)頁,主要用于信息的呈現(xiàn)和傳播。此時(shí)的網(wǎng)頁幾乎沒有交互能力劳殖,與現(xiàn)在網(wǎng)上的博客站點(diǎn)上靜態(tài)網(wǎng)頁差不多。
隨著互聯(lián)網(wǎng)的不斷發(fā)展拨脉,越來越多的桌面應(yīng)用搬遷到互聯(lián)網(wǎng)上哆姻;而網(wǎng)頁就是這些應(yīng)用的載體。與傳統(tǒng)的桌面應(yīng)用相比玫膀,web應(yīng)用的優(yōu)勢越來越明顯矛缨。然而這些web應(yīng)用少不了與人進(jìn)行交互,在這個(gè)大背景下JavaScript變得越來越重要帖旨。web應(yīng)用和JavaScript應(yīng)該是相互促進(jìn)的關(guān)系吧』眩現(xiàn)在很多桌面應(yīng)用都有web版本,用戶省去的下載和安裝的過程解阅,也不在占用個(gè)人磁盤空間落竹;在瀏覽器上打開即用。而且體驗(yàn)與桌面版本的效果并不差货抄,甚至還有很多其他的優(yōu)勢述召。
這一切都得益于JavaScript的發(fā)展和使用。
JavaScript主要功能
從宏觀上講蟹地,JavaScript的所有的功能都是為了賦予web網(wǎng)頁以交互能力桨武,用戶操作網(wǎng)頁中的元素,然后網(wǎng)頁給予相應(yīng)的應(yīng)答锈津。從這個(gè)過程中我們可以看到JavaScript的三大主要功能:響應(yīng)頁面事件呀酸、負(fù)責(zé)與服務(wù)器進(jìn)行信息交互和操作頁面DOM。
JavaScript作為一門編程語言琼梆,一般編程語言有的功能性誉;它都是具備的窿吩。例如:字符串處理、日期的操作错览、數(shù)組的操作和數(shù)字的操作等等纫雁。
JavaScript和其他編程語言的比較
JavaScript是面向?qū)ο?/code>的
解析型
動(dòng)態(tài)語言
。一般情況下倾哺,面向過程型語言的一等公民是函數(shù)
轧邪,而面向?qū)ο笳Z言的一等公民是類
或者對象
。然后JavaScript雖然是面向?qū)ο笳Z言羞海,但是語言特性上卻沒有真正的類
的概念忌愚,JavaScript中只有對象,面向?qū)ο蟮睦^承特性使用原型模式實(shí)現(xiàn)的却邓。個(gè)人認(rèn)為JavaScript的一等公民有兩個(gè):對象
和函數(shù)
硕糊;即便在JavaScript中函數(shù)
也是對象。其中閉包
也是JavaScript中非常重要的一個(gè)概念腊徙。
這些也是JavaScript語言的獨(dú)特之處简十。個(gè)人覺得這些特性還是比較坑的。
但是現(xiàn)在的ES6針對面對對象實(shí)現(xiàn)方式做了一些語法糖的處理撬腾,使得JavaScript實(shí)現(xiàn)面對對象的方式與一般的面對對象編程語言更加的相似螟蝙。不過這僅僅是一些語法糖,底層的實(shí)現(xiàn)機(jī)制并沒有改變民傻,還是使用原型模式實(shí)現(xiàn)繼承胶逢。
JavaScript是動(dòng)態(tài)語言,所以在聲明變量的時(shí)候不需要指定數(shù)據(jù)類型饰潜,運(yùn)行時(shí)變量的數(shù)據(jù)類型是可以被修改的初坠。但是從編程規(guī)范的角度來說,應(yīng)該盡量地避免這樣的操作彭雾。
JavaScript是解析型語言碟刺,代碼在執(zhí)行前是不需要編譯的;一邊解析一邊執(zhí)行薯酝。這也使得JavaScript具備跨平臺的特性半沽。
總結(jié)
JavaScript發(fā)展到現(xiàn)在已經(jīng)相當(dāng)成熟了,但還是存在一定的瀏覽器兼容性問題吴菠,而jQuery類庫很好地解決了這個(gè)問題≌咛睿現(xiàn)在網(wǎng)上存在很多好用的JavaScript類庫和框架可供開發(fā)人員使用。因?yàn)镴avaScript作為編程語言確實(shí)存在很多的不足做葵,所以甚至出現(xiàn)了通過編寫其他語言來代替原生JavaScript占哟,然后使用相關(guān)工具轉(zhuǎn)化成JavaScript語言進(jìn)行發(fā)布運(yùn)行。現(xiàn)在已經(jīng)有了ES6,編程JavaScript的體驗(yàn)已經(jīng)得到了很好的提升榨乎。
作為一個(gè)JavaScript入門選手怎燥,JavaScript基礎(chǔ)知識是不可或缺的。萬丈高樓平地起嘛蜜暑!