JavaScript 到底是什麼?
JS 是一種可以在瀏覽器上執行的程式語言。它通過動態更新內容、驗證表單數據、控制多媒體、等等的網頁資源,將靜態 HTML 網頁變成互動式網頁。
身為前端三劍客之一的 JavaScript,其實就是擔任了魔法師的角色,施展魔法,讓不會動的東西動起來!
這聽起來真的很酷吧?但是,這也是前端的魔王關卡,在這個關卡,有許多人因為看見條件判斷、迴圈,就在這裡放棄了。
所以我也在此告訴自己,寫程式是一件很好玩的事情,別因為這樣就感到害怕了。
Let's go!
以上兩個在初學 JS 時,可能還是會似懂非懂,但是在 JS 當中,有許多的觀念都會跟這兩個核心要點有所關聯,所以在一開始學習時,可以先好好記得。
通常在學習程式語言時,我們還是會先從宣告變數開始!
首先,變數是什麼?
變數其實就像是儲存資料的一個小盒子,將程式運行時需要的資料儲存於其中。而變數又可以利用三種變數宣告關鍵字來宣告變數 (declare),分別是 var
let
const
。
使用宣告關鍵字來宣告變數,let color = "red"
,color 是變數名稱,"=" 是將右邊的數值指定 (assign) 給這個變數。
先來認識一下 var
var
是在早期的 JS 當中用來宣告變數的方法,但是在 ES6 釋出後,也漸漸的被 let
還有 const
取代。
var
最主要的特性有以下三個:
let
與const
cosnt
let
從上方的程式中可以看見,變數名稱通常是使用 camelCase 的規則來命名的(長得就像是駱駝的駝峰一樣),而在 JS 中,命名的大小寫是不一樣的,比如 apple 跟 APPLE 是不一樣的。不過在命名時也不要以這種大小寫的方式來區分不同變量,以免造成閱讀上的困難。
JS 中的基本資料型態(純值),主要可以分為6種,基本型別都是 "傳值" 的方式,
"傳值"以及"傳址",後續會再做一篇整理。
現實生活中,我們常常在算數學時使用加減乘除,在 JS 中也是可以的!
其實運算符他也是一個函式,會有回傳值,並且具有 優先性與相依性。
關於運算符的優先性與方向性可以參考 MDN 運算子優先順序。
數值的加減乘除 :
字串的加減乘除 :
比較運算表示
==
: 等於(不嚴謹判斷),"3" == 3 ; 字串 3 與數字 3 比較,會回傳 true
===
: 等於(嚴謹判斷),"3" === 3 ; 字串 3 與數字 3 比較,會回傳 false
>=
: 大於等於
<=
: 小於等於
!=
: 不等於 (不嚴謹判斷)
!==
: 不等於 (嚴謹判斷)
邏輯運算表示
&&
: and 邏輯運算,表示左右兩邊都要是 true,結果才會是 true,只要有一邊是 false,結果就是 false
||
: or 邏輯運算,表示左右兩邊有一邊是 true,就果就是 true
!
: not 邏輯運算,如果是 false,就會變成 true,如果是 true 就會變 false
在 JS 當中具有 Type coercion (強制轉型)的機制,當使用運算子或是比較運算時,可能會產生強制轉型。
<
運算子,他會由左至右比較,1 < 2 返回 true,再比較 true < 3,而根據 JS 的強制轉型, true 會轉為 1 , 1 < 3 返回 true>
運算子,他會由左至右比較,3 > 2 返回 true,在比較 true > 1,而根據 JS 的強制轉型, true 會轉為 1 , 1 > 1 返回 false當一段字串中想要加入 "" 或是 \ 亦或是換行,可以加入跳脫字元來使其顯示出來。
\t
: tab 鍵\'
: 單引號\"
: 雙引號\\
: 反斜線\n
: 換行frontend learning