什么是JavaScript
js是一種動態(tài)的、弱類型的跨释、基于對象和事件驅(qū)動的客戶端腳本語言雕旨。
JavaScript有何特點
JavaScript是一種基于對象和事件驅(qū)動的客戶端腳本語言悯姊,并具有相對的安全性棉浸,主要用于創(chuàng)建交互性較強的動態(tài)頁面。其主要特點介紹如下尾序。
- 基于對象
- 事件驅(qū)動
- 解析性語言
- 實時性
- 動態(tài)性
- 跨平臺
- 開發(fā)使用簡單
- 相對安全性
- 基于對象:JavaScript是基于對象的腳本編程語言钓丰,能通過DOM(文檔結(jié)構(gòu)模型)及自身提供的對象和操作方法來實現(xiàn)所需的功能。
- 事件驅(qū)動: JavaScript采用事件驅(qū)動方式每币,能響應(yīng)鍵盤携丁,鼠標及瀏覽器窗口事件等,并執(zhí)行指定的操作兰怠。
- 解釋性語言:JavaScript是一種解釋性腳本語言梦鉴,無需專門的編譯器進行編譯,在嵌入JavaScript腳本的HTML文檔被瀏覽器載入時逐行地解釋揭保,大量節(jié)省客戶端與服務(wù)器端進行數(shù)據(jù)交互的時間尚揣。
- 實時性:JavaScript事件處理是實時性的,無需經(jīng)服務(wù)器可對客戶端的事件做出響應(yīng)掖举,并用處理結(jié)果實時更新目標頁面。
- 動態(tài)性:JavaScript提供簡單高效的語言流程娜庇,靈活處理對象的各種方法和屬性塔次,同時及時響應(yīng)文檔頁面事件,實現(xiàn)頁面的交互性和動態(tài)性名秀。
- 跨平臺: JavaScript腳本的正確運行依賴于瀏覽器励负,而與具體的操作系統(tǒng)無關(guān)。只要客戶端裝有支持JavaScript腳本的瀏覽器匕得,JavaScript腳本運行結(jié)果就能正確反映在客戶端瀏覽器平臺上继榆。
- 開發(fā)使用簡單:JavaScript基本結(jié)構(gòu)類似于C語言,采用小程序段的方式編程汁掠,并提供了簡易的開發(fā)平臺和便捷的開發(fā)流程略吨,既能嵌入到HTML文檔中供瀏覽器解釋執(zhí)行,同時JavaScript的變量類型是弱類型考阱,使用不嚴格翠忠。
- 相對安全性:JavaScript是客戶端腳本,通過瀏覽器解釋執(zhí)行乞榨。它不允許直接訪問本地計算機秽之,并且不能將數(shù)據(jù)存到服務(wù)器上当娱,它也不允許對網(wǎng)絡(luò)文檔進行修改和刪除,只能通過瀏覽器實現(xiàn)信息瀏覽或動態(tài)交互考榨,從而有效地防止數(shù)據(jù)的丟失跨细。
綜合上述,JavaScript是一種有著較強生命力和發(fā)展?jié)摿Φ哪_本描述語言河质,可被直接嵌入到HTML文檔中冀惭,供瀏覽器解釋執(zhí)行;直接響應(yīng)客戶端事件愤诱,如驗證數(shù)據(jù)表單合法性等云头,并調(diào)用相應(yīng)的處理方法,迅速返回處理結(jié)果并更新頁面淫半,實現(xiàn) Web交互性和動態(tài)的要求溃槐。同時將大部分的工作交給客戶端處理,將Web服務(wù)器資源消耗降到最低科吭。
JavaScript與java的區(qū)別
1.基于對象(js)和面向?qū)ο?java)
2.弱變量(js)和強變量(java)
3.代碼格式不同
4.嵌入方式不同
5.執(zhí)行方式不同
在HTML中使用js的方式
-
1.當js代碼沒有動態(tài)的生成html內(nèi)容時可以將js代碼插入到
<head></head>
標簽里面<html> <head> <title></title> <script language="javascript"> ...腳本內(nèi)容 document.write("歡迎來到j(luò)s動態(tài)語言;璧巍!"); </script> </head> <body> ...頁面內(nèi)容 </body> </html>
?
2.當js代碼有動態(tài)的生成html內(nèi)容時
?
JavaScript的不足
- JavaScript是在瀏覽器的js引擎中執(zhí)行的对人,無法對文件進行操作谣殊。
- Node.js填補了js的不足。
什么是js阻塞
瀏覽器在解析html頁面時牺弄,在解析過程中遇到script標簽時會先去下載姻几、解析和執(zhí)行script標簽引用的js文件,在此過程中script標簽后面的內(nèi)容會暫時停止解析势告,直到j(luò)s執(zhí)行完成后再進行后續(xù)html頁面的解析蛇捌,這就造成了js阻塞。