js簡(jiǎn)介
javascript簡(jiǎn)稱js,瀏覽器腳本語(yǔ)言,應(yīng)用最多的就是在瀏覽器里面。
現(xiàn)在經(jīng)過(guò)多方發(fā)展,js應(yīng)用場(chǎng)景已比較豐富:
- 服務(wù)器腳本 nodejs
- 跨平臺(tái)開(kāi)發(fā) react native (可開(kāi)發(fā) ios,Android)
- 桌面應(yīng)用開(kāi)發(fā)
- 嵌入式開(kāi)發(fā)
后兩種用的不多
js組成
js有三部分組成,分別是:
- 核心 ECMAScript
- 文檔對(duì)象模型 DOM
- 瀏覽器對(duì)象模型 BOM
ECMAScript
ECMA全稱是歐洲計(jì)算機(jī)制造商協(xié)會(huì),ECMA規(guī)定了如下一些與平臺(tái)無(wú)關(guān)的東西
- 語(yǔ)法
- 類型
- 語(yǔ)句
- 關(guān)鍵字
- 保留字
- 操作符
- 對(duì)象
ECMAScript是對(duì)實(shí)現(xiàn)ECMA標(biāo)準(zhǔn)的語(yǔ)言描述。ECMAScript與平臺(tái)無(wú)關(guān)。
其實(shí)實(shí)現(xiàn)ECMAScript的不經(jīng)有javascript,還有actionScript等
文檔對(duì)象模型DOM
DOM是經(jīng)過(guò)擴(kuò)展用于操作HTML的應(yīng)用程序編程接口
DOM操作集中在CURD上即:
- C 創(chuàng)建DOM節(jié)點(diǎn)
- U 更新DOM節(jié)點(diǎn)
- R 查詢DOM節(jié)點(diǎn)
- D 刪除DOM節(jié)點(diǎn)
擴(kuò)展后的DOM已經(jīng)包括文檔的結(jié)構(gòu)和樣式操作,即js里對(duì)樣式的修改也屬于DOM部分
DOM其實(shí)是一種標(biāo)準(zhǔn),與語(yǔ)言無(wú)關(guān)。javascript實(shí)現(xiàn)了DOM標(biāo)準(zhǔn),同樣PHP、SVG、Math ML等也實(shí)現(xiàn)了自己的DOM標(biāo)準(zhǔn)
BOM
前端里讓人頭疼的一個(gè)問(wèn)題就是兼容,同一段代碼在不同的瀏覽器里可能有不同的表現(xiàn),大部分就是不同瀏覽器對(duì)BOM的不同實(shí)現(xiàn)導(dǎo)致的。
BOM是瀏覽器對(duì)象模型,用來(lái)處理瀏覽器窗口和框架。
與BOM相關(guān)的五個(gè)對(duì)象:
- window 全局對(duì)象,BOM的核心對(duì)象
- location 與當(dāng)前文檔相關(guān)信息和導(dǎo)航對(duì)象
- navigator 識(shí)別客戶端瀏覽器的對(duì)象,有些WEB api 也存儲(chǔ)在次對(duì)象里,比如攝像對(duì)對(duì)象 navigator.getMedia
- screen 存儲(chǔ)瀏覽器屏幕信息,包括窗口長(zhǎng)寬,可視區(qū)域的長(zhǎng)寬等
- history 存儲(chǔ)用戶上網(wǎng)歷史紀(jì)錄,每個(gè)窗口有一個(gè)history對(duì)象,常用的history.go()方法