摘要:深入淺出Javascript Lesson 2
深入淺出系列的書籍在我的印象中算是市面上編寫程式相關的書籍裡可以讓人看得比較輕鬆並有興趣繼續往下看的書了
圖文並茂加上循序漸進的方式值得推薦給各位
不過我覺得最好是已經具備基本的認識 像是"深入淺出Javascript"一書 最好是本身已經對Javascript有初步的認識
看起來會更駕輕就熟 也能理解更深
書中的程式範例:
http://www.headfirstlabs.com/books/hfjs/
爾後會將每章節學習到的重點節錄出來做為日後複習之用
第二章 儲存資料
javascript使用三種基本資料型別:
-
Text
文字資料只是一串字元 通常為字串(string),常出現在雙引號(" ")或單引號()中. -
Number
數值可能是整數(2)或浮點數(2.5) -
Boolean
只有兩種可能情況,成立(true)及不成立(false).
常數總是相同,變數可能有改變
建立變數時,請使用javascript的特別關鍵字var,並且為新變數命名.
var population=300;
當使用var關鍵字建立變數時,可以是空的沒關係,但是在指派值給變數前,別試著讀取變數.
透過 = 初始變數值這種行為稱做變數初始化,分號(;)表示原始碼的結束,如上指令稿建立了一個名稱為population的變數並且因為指派給變數的初始值是個數字而自動把數值型別(Number)指派給變數.
建立常數時,改用關鍵字const.且此時的初始值將變成永久值.
const TAXRATE=.925;
常數習慣以全都是大寫字母的方式命名做為與變數的區隔.
加法不只能用在數值上
1 + 2 = 3 "1" + "2" = "12" (數值相加,字串相連)
因此套用加法前,請先確認相加的資料是你想像中的資料
parseInt()與parseFloat()將文字轉換成數字,這兩個內建函式都接受字串,並在轉換後回傳數值.
parseInt("1") + parseInt("2") = 3
parseInt()與parseFloat()並不保證轉換一定成功,因此應該只提供"僅包含數字"的字串.
parseFloat("$31.5") = NaN(代表非數值).
var numCakeDonuts = parseInt(document.getElementById("cakedonuts").value);
if(isNaN(numCakeDonuts))
numCakeDonuts=0;
以上將網頁上取得的字串先透過parseInt()轉型成數值,接著再透過isNaN()檢查該變數是否為數值(回傳Boolean值),如果不是的話使其等於0,避免之後發生程式上的錯誤.
tax.toFixed(2);
以上數值型別的toFixed()函式會將數值四捨五入到小數點後兩位.
<input type="text" id="glazeddonuts" name="glazeddonuts" value="" onchange="updateOrder();" />
以上文字輸入方塊的onchange事件發生後會執行updateOrder()函式.
if (donutString.indexOf("dozen") != -1)
numDonuts *= 12;
以上字串的indexOf()函式會去檢查dozen是否有出現在donutString的值裡,沒找到的話會回傳-1的值,也就是說,當回傳值不等於-1時,表示有找到dozen(一打),因此將原本的數量*12.