變數
變數是程式放資料的空間,佔有電腦的記憶體空間,程式在運算過程中,將資料進行處理與運算,就是對變數進行處理與運算,就是對變數所對應的記憶體進行處理與運算。
還記得數學中的方程式,如x+y=12,x與y是未知數,跟本章要介紹的變數有相同的概念,代表某個資料,而電腦的變數還多了佔有記憶體空間。程式中命名變數的方式通常有固定的規則,如成績就用score表示,加總就用sum等,再對變數進行運算,例如sum=score1+score2,就是將score1加score2的結果儲存到sum。這樣的變數命名規則沒有強制性,只是讓後續維護程式的人更容易閱讀。
(1)變數的命名規則
(a)變數的第一個字母一定只能是大小寫英文字母、底線(_)與錢字號($),其後可以接大小寫英文字母、底線(_)、錢字號($)與數字,但不能以數字開頭。JavaScript可以使用中文當變數名稱,若程式不需要分享給非中文的使用者,就可以使用中文變數。
(b)大小寫字母視為不同變數,A與a視為不同的變數。
(c)變數名稱可以利用多個有意義的單字組合而成,程式設計者較容易閱讀與瞭解,如表示數學成績的變數可以使用mathScore或MathScore來表示,變數的第一個單字可以大寫也可以小寫,其後的每個單字開頭字母以大寫字母表示,這樣的規定沒有強制性。
(d)JavaScript的關鍵字無法命名為變數名稱,如:if、else、switch、var、for、while、break與continue等。
(2)變數的宣告與初始化
變數建議宣告後才使用,宣告表示告訴程式可以使用這個變數,宣告方式如下。
(a)宣告變數
格式:var 變數;
例如:「var x;」,宣告x為變數。
(b)宣告變數並初始化
格式:var 變數=資料值;
例如:「var x=100;」,宣告x為變數,並初始化為100。
(c)宣告多個變數
格式:var 變數1,變數2,變數3;
例如:「var x,y,z;」,宣告x、y與z為變數。
例如:「var x=1,y= "你好",z;」,宣告x、y與z為變數,x初始化為1,y初始化為「你好」,z未進行初始化。
運算子
將數值或變數進行運算,需要使用運算子,運算子分成指定運算子、算數運算子、比較運算子與邏輯運算子等,以下就分別介紹並舉例說明。
(1)指定運算子
用等號(=)表示,意思是等號右邊先運算,再將運算結果儲存到左邊的變數,如A=1+2,右邊的1+2先運算獲得3,將3再儲存到左邊的A。
JavaScript的指定運算子範例
本範例會使用到指定運算子(=)、數字的加法運算(+)與字串串接運算(+),若加號的前後都是數字,則是數字相加,加號的前後有一個是字串就會變成字串串接。
本範例瀏覽結果,如下。
(2)算術運算子、遞增減運算子
算術運算子為數學的運算子,例如:A-B表示A減B,減(-)為算術運算子,可以結合指定運算子(=)將結果儲存到變數C,C=A-B。以下介紹算術運算子。
乘號在數學中可以不用加上,但在程式中乘號不可以忽略,其他使用方式與數學相同,先乘除後加減,使用小括號刮起來的部分優先計算。
以下提供程式中數學運算子範例。
遞增減運算子分為遞增(++)與遞減(--),以下介紹算術運算子。
JavaScript的算術運算子、遞增與遞減運算子範例
本範例瀏覽結果,如下。
(3)算數運算子縮寫
在JavaScript中「A=A+3」是成立的,右邊的「A+3」先運算,結果在儲存回左邊的「A」,會讓變數A增加3,「A=A+3」可以縮寫為「A+=3」,以下介紹算術運算子的縮寫。
(4)比較運算子
JavaScript的比較運算子範例
本範例瀏覽結果,如下。
(5)邏輯運算子
邏輯運算子有三種運算子,且(&&)、或(||)、非(!)。
(X&&Y):當X是True,Y也是True,結果為True;X與Y只要其中一個為False,結果為False。
(X||Y):當X與Y其中一個為True,則結果為True;當X是False且Y也是False,則結果為False。
(! X):若X為True,! X結果為False;若X為False,! X結果為True。
可以使用邏輯運算子(且(&&)、或(||)、非(!))連結多個條件,若要多個條件須同時為true運算結果才為true,就使用「&&」運算子結合這些條件;若只要其中之一條件為true運算結果就為true,就使用「||」運算子結合這些條件;若要取相反的結果就使用「!」運算子置於該條件前面,邏輯運算子結合多個條件運算舉例如下。
JavaScript的邏輯運算子範例
(6)位元運算子
任何電腦中的數字都會轉成二進位儲存在電腦,例如:數字13轉成二進位為00001101,位元運算會對數值轉換成二進位值的每個0與1進行運算,JavaScript的位元運算提供以下運算子。
(7)JavaScript的typeof運算子
使用typeof運算子可以判斷變數的資料型別,例如:typeof(10)會回傳number,利用typeof運算子可以了解變數的資料型別。
運算子優先權次序
F=2+3*5-14/7,這是一個計算公式,有加減乘除四種運算子,乘除先運算或加減先運算會有不同的結果,而運算子的運算先後順序是有其規則的,這些規則定義在程式語言裡,以下是JavaScript運算子的優先權規定。