編寫你的第一段 JavaScript 代碼
JavaScript 是一種充滿驚喜的編程語言。許多人第一次遇到 JavaScript 時,它通常是作為一種 Web 語言出現的。所有主流瀏覽器都有一個 JavaScript 引擎;並且,還有一些流行的框架,如 JQuery、Cash 和 Bootstrap 等,它們可以幫助簡化網頁設計;甚至還有用 JavaScript 編寫的編程環境。它似乎在互聯網上無處不在,但事實證明,它對於 Electron 等項目來說也是一種有用的語言。Electron 是一個構建跨平台桌面應用程序的開源工具包,它使用的語言就是 JavaScript。
JavaScript 語言的用途多到令人驚訝,它擁有各種各樣的庫,而不僅僅是用於製作網站。它的基礎知識十分容易掌握,因此,它可以作為一個起點,助你跨出構建你想像中的東西的第一步。
安裝 JavaScript
隨著你的 JavaScript 水平不斷提高,你可能會發現自己需要高級的 JavaScript 庫和運行時環境。不過,剛開始學習的時候,你是根本不需要安裝 JavaScript 環境的。因為所有主流的 Web 瀏覽器都包含一個 JavaScript 引擎來運行代碼。你可以使用自己喜歡的文本編輯器編寫 JavaScript,將其載入到 Web 瀏覽器中,接著你就能看到代碼的作用。
上手 JavaScript
要編寫你的第一個 JavaScript 代碼,請打開你喜歡的文本編輯器,例如 Atom 或 VSCode 等。因為它是為 Web 開發的,所以 JavaScript 可以很好地與 HTML 配合使用。因此,我們先來嘗試一些基本的 HTML:
<html>
<head>
<title>JS</title>
</head>
<body>
<p id="example">Nothing here.</p>
</body>
</html>
保存這個文件,然後在 Web 瀏覽器中打開它。
要將 JavaScript 添加到這個簡單的 HTML 頁面,你可以創建一個 JavaScript 文件並在頁面的 <head>
中引用它,或者只需使用 <script>
標記將 JavaScript 代碼嵌入 HTML 中。在這個例子中,我嵌入了下面的代碼:
<html>
<head>
<title>JS</title>
</head>
<body>
<p id="example">Nothing here.</p>
<script>
let myvariable = "Hello world!";
document.getElementById("example").innerHTML = myvariable;
</script>
</body>
</html>
在瀏覽器中重新載入頁面。
如你所見,<p>
標籤仍然包含字元串 "Nothing here"
,但是當它被渲染時,JavaScript 會改變它,使其包含 "Hello world"
。是的,JavaScript 具有重建(或只是幫助構建)網頁的能力。
這個簡單腳本中的 JavaScript 做了兩件事。首先,它創建一個名為 myvariable
的變數,並將字元串 "Hello world!"
放置其中。然後,它會在當前文檔(瀏覽器呈現的網頁)中搜索 ID 為 example
的所有 HTML 元素。當它找到 example
時,它使用了 innerHTML
屬性將 HTML 元素的內容替換為 myvariable
的內容。
當然,我們也可以不用自定義變數。因為,使用動態創建的內容來填充 HTML 元素也是容易的。例如,你可以使用當前時間戳來填充它:
<html>
<head>
<title>JS</title>
</head>
<body>
<p id="example">Date and time appears here.</p>
<script>
document.getElementById("example").innerHTML = Date();
</script>
</body>
</html>
重新載入頁面,你就可以看到在呈現頁面時生成的時間戳。再重新載入幾次,你可以觀察到秒數會不斷增加。
JavaScript 語法
在編程中, 語法 指的是如何編寫句子(或「行」)的規則。在 JavaScript 中,每行代碼必須以分號(;
)結尾,以便運行代碼的 JavaScript 引擎知道何時停止閱讀。(LCTT 譯註:從實用角度看,此處的「必須」其實是不正確的,大多數 JS 引擎都支持不加分號。Vue.js 的作者尤雨溪認為「沒有應該不應該,只有你自己喜歡不喜歡」,他同時表示,「Vue.js 的代碼全部不帶分號」。詳情可以查看他在知乎上對於此問題的 回答。)
單詞(或 字元串 )必須用引號("
)括起來,而數字(或 整數 )則不用。
幾乎所有其他東西都是 JavaScript 語言的約定,例如變數、數組、條件語句、對象、函數等等。
在 JavaScript 中創建變數
變數是數據的容器。你可以將變數視為一個盒子,你在其中放置數據,以便與程序的其他部分共享它。要在 JavaScript 中創建變數,你可以選用關鍵字 let
和 var
中的一個,請根據你打算如何使用變數來選擇:var
關鍵字用於創建一個供整個程序使用的變數,而 let
只為特定目的創建變數,通常在函數或循環的內部使用。(LCTT 譯註:還有 const
關鍵字,它用於創建一個常量。)
JavaScript 內置的 typeof
函數可以幫助你識別變數包含的數據的類型。使用第一個示例,你可以修改顯示文本,來顯示 myvariable
包含的數據的類型:
<string>
let myvariable = "Hello world!";
document.getElementById("example").innerHTML = typeof(myvariable);
</string>
接著,你就會發現 Web 瀏覽器中顯示出 「string」 字樣,因為該變數包含的數據是 "Hello world!"
。在 myvariable
中存儲不同類型的數據(例如整數),瀏覽器就會把不同的數據類型列印到示例網頁上。嘗試將 myvariable
的內容更改為你喜歡的數字,然後重新載入頁面。
在 JavaScript 中創建函數
編程中的函數是獨立的數據處理器。正是它們使編程得以 模塊化。因為函數的存在,程序員可以編寫通用庫,例如,調整圖像大小或統計時間花費的庫,以供其他和你一樣的程序員在他們的代碼中使用。
要創建一個函數,你可以為函數提供一個自定義名稱,後面跟著用大括弧括起來的、任意數量的代碼。
下面是一個簡單的網頁,其中包含了一個剪裁過的圖像,還有一個分析圖像並返回真實圖像尺寸的按鈕。在這個示例代碼中,<button>
這個 HTML 元素使用了 JavaScript 的內置函數 onclick
來檢測用戶交互,它會觸發一個名為 get_size
的自定義函數。具體代碼如下:
<html>
<head>
<title>Imager</title>
</head>
<body>
<div>
<button onclick="get_size(document.getElementById('myimg'))">
Get image size
</button>
</div>
<div>
<img style="width: 15%" id="myimg" src="penguin.png" />
</div>
<script>
function get_size(i) {
let w = i.naturalWidth;
let h = i.naturalHeight;
alert(w + " by " + h);
}
</script>
</body>
</html>
保存這個文件,並將其載入到 Web 瀏覽器中以嘗試這段代碼。
使用 JavaScript 的跨平台應用程序
你可以從代碼示例中看到,JavaScript 和 HTML 緊密協作,從而創建了有凝聚力的用戶體驗。這是 JavaScript 的一大優勢。當你使用 JavaScript 編寫代碼時,你繼承了現代計算中最常見的用戶界面之一,而它與平台無關,那就是 Web 瀏覽器。你的代碼本質上是跨平台的,因此你的應用程序,無論是簡單的圖像大小分析器還是複雜的圖像編輯器、視頻遊戲,或者你夢想的任何其他東西,都可以被所有人使用,無論是通過 Web 瀏覽器,還是桌面(如果你同時提供了一個 Electron 應用)。
學習 JavaScript 既簡單又有趣。網路上有很多網站提供了相關教程,還有超過一百萬個 JavaScript 庫可幫助你與設備、外圍設備、物聯網、伺服器、文件系統等進行交互。在你學習的過程中,請將我們的 JavaScript 備忘單 放在身邊,以便記住語法和結構的細節。
via: https://opensource.com/article/21/7/javascript-cheat-sheet
作者:Seth Kenlon 選題:lkxed 譯者:lkxed 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive