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