什麼是 JavaScript? JavaScript 是一種直譯式腳本語言,一種輕量級的腳本語言 它可以在網頁上實現複雜的功能,網頁展現給你的不再是簡單的靜態信息,而是實時的內容更新,互動式的地圖,2D/3D 動畫,滾動播放的視頻等等。JavaScript 怎能缺席。它是標準 Web 技術蛋糕的第三 ...
什麼是 JavaScript?
JavaScript 是一種直譯式腳本語言,一種輕量級的腳本語言
它可以在網頁上實現複雜的功能,網頁展現給你的不再是簡單的靜態信息,而是實時的內容更新,互動式的地圖,2D/3D 動畫,滾動播放的視頻等等。JavaScript 怎能缺席。它是標準 Web 技術蛋糕的第三層,其中 HTML 和 CSS 我們已經在學習中心的其他部分進行了詳細的講解。
HTML是一種標記語言,用來結構化我們的網頁內容並賦予內容含義,例如定義段落、標題和數據表,或在頁面中嵌入圖片和視頻。
CSS 是一種樣式規則語言,可將樣式應用於 HTML 內容, 例如設置背景顏色和字體,在多個列中佈局內容。
JavaScript 是一種腳本語言,可以用來創建動態更新的內容,控制多媒體,製作圖像動畫,還有很多。
什麼是腳本語言?
Script language指的是它不具備開發操作系統的能力,而是只用來編寫控制其他程式的語 言
JS 是一門完備的 動態編程語言。當應用於 HTML 文檔時,可以為網站提供動態交互特性。由布蘭登·艾克(Brendan Eich,Mozilla 項目、Mozilla 基金會和 Mozilla 公司的聯合創始人)發明。
JavaScript 和 Java 有什麼關係?
本質上沒有關係,可以易理解為"蹭熱度"
JavaScript 原本叫做 LiveScript(由網景公司推出),當時最火的編程語言是 Java,網景為了 推廣 LiveScript,就把LiveScript 改為了 JavaScript。
JavaScript 和 Java 的對比
JavaScript
面向對象。不區分對象類型。通過原型機制繼承,任何對象的屬性和方法均可以被動態添加。
變數類型不需要提前聲明(動態類型)。
不能直接自動寫入硬碟。
Java
基於類系統。分為類和實例,通過類層級的定義實現繼承。不能動態增加對象或類的屬性或方法。
變數類型必須提前聲明(靜態類型)。
可以直接自動寫入硬碟。
為什麼使用 JavaScript?
對初學者更友好
1. 可以隨時隨地的使用瀏覽器進行開發練習。
2. 簡單化的語法。即使複雜的語法你沒有掌握,也可以通過簡單的語法實現。
3. 與C/C++、Java的相似性。如果你學過這兩門語言,那麼再來學習JavaScript
可以說將會很簡單。
非常簡潔和靈活的語言
開發者們基於 JavaScript 核心編寫了大量實用工具,可以使 開發工作事半功倍。其中包括:
1. 瀏覽器應用程式介面(API)—— 瀏覽器內置的 API 提供了豐富的功能,比如:動態創建 HTML 和設置 CSS 樣式、從用戶的攝像頭採集處理視頻流、生成3D 圖像與音頻樣本,等等。
2. 第三方 API —— 讓開發者可以在自己的站點中整合其它內容提供者(Twitter、Facebook 等)提供的功能。
3. 第三方框架和庫 —— 用來快速構建網站和應用。
4. 靈活的語法
JavaScript 既支持類似 C 語言清晰的過程式編程,也支持靈活的函數式編程,可以用來寫併發處理(concurrent)。這些語法特性已經被證明非常強大,可以用於許多場合,尤其適用非同步編程。
JavaScript 的所有值都是對象,這為程式員提供了靈活性和便利性。因為你可以很方便地按照需要隨時創造數據結構,不用進行麻煩的預定義。
JavaScript 的標準還在快速進化,並不斷合理化,添加更適用的語法特性。
5. 支持編譯運行
JavaScript 語言本身,雖然是一種解釋型語言
,但是在現代瀏覽器中,JavaScript 都是編譯後運行。程式會被高度優化,運行效率接近二進位程式。而且 JavaScript 引擎正在快速發展,性能將越來越好。此外,還有一種 WebAssembly 格式,它是 JavaScript 擎的中間碼格式,全部都是二進位代碼。由於跳過了編譯步驟,可以達到接近原生二進位代碼的運行速度。各種語言(主要是 C 和 C++)通過編譯成 WebAssembly ,就可以在瀏覽器裡面運行。
6. 事件驅動和非阻塞設計
JavaScript 程式可以採用事件驅動(event-driven)和非阻塞式(non-blocking)設計,在伺服器端適合搞併發環境,普通的硬體就可以承受很大的訪問量。
應用場合極其廣泛
簡單到幻燈片、照片庫、浮動佈局和響應按鈕點擊。複雜到游戲、2D 和 3D 動畫、大型資料庫驅動程式,等等。