1 00:00:01,083 --> 00:00:03,846 我的好朋友溫斯頓會在這協助我們完成這程式 2 00:00:03,846 --> 00:00:06,424 我知道他看起來已經好的不可思議 3 00:00:06,424 --> 00:00:08,911 但我想稍微改一下他眼睛的大小 4 00:00:08,911 --> 00:00:10,784 這是我畫他眼睛的位置 5 00:00:10,784 --> 00:00:13,343 你可以看見我們設定填色接著畫兩個橢圓形 6 00:00:13,343 --> 00:00:16,833 若我想縮小這橢圓形,我可以改變寬度 7 00:00:16,833 --> 00:00:18,011 然後我也希望它是個圓形 8 00:00:18,011 --> 00:00:20,284 所以我要把高度改成和寬度相同的值 9 00:00:20,284 --> 00:00:22,955 我希望兩隻眼睛的大小一樣 10 00:00:22,955 --> 00:00:25,381 所以得修改這隻眼睛的寬度和高度 11 00:00:25,381 --> 00:00:28,497 糟糕,現在眼睛有一點過小, 所以我必須把它們改回原來大小 12 00:00:28,707 --> 00:00:30,839 如果可以只改一個值就同時改變眼睛大小 13 00:00:30,839 --> 00:00:32,656 那豈不是太棒了? 14 00:00:32,877 --> 00:00:36,191 而這就是變數可以幫得上忙的地方 15 00:00:37,232 --> 00:00:40,848 變數就像一個名字或為別的東西預留位置 16 00:00:41,303 --> 00:00:44,523 我喜歡把變數想成一個有名字的大桶子 17 00:00:44,566 --> 00:00:46,295 你可以把任何你想的東西放進桶子裡 18 00:00:46,295 --> 00:00:47,588 但名字保持不變 19 00:00:47,747 --> 00:00:51,937 我們稱桶子裡的東西為變數的值 20 00:00:53,702 --> 00:00:55,745 讓我們開始真正地來寫一個變數 21 00:00:55,745 --> 00:00:57,564 就從這裡開始 22 00:00:57,564 --> 00:01:00,333 你所要做的就是寫入var,代表變數 23 00:01:00,333 --> 00:01:02,477 空格,接著是變數的名字 24 00:01:02,477 --> 00:01:04,465 它應該描述那變數所儲存的數值 25 00:01:04,465 --> 00:01:06,007 所以我要把這一個叫做eyeSize,眼睛大小 26 00:01:06,007 --> 00:01:07,997 你可以隨意給它任何你想要的名字 27 00:01:07,997 --> 00:01:10,043 但在字與字之間不可以有任何空格 28 00:01:10,043 --> 00:01:11,974 當然,別忘了寫分號 29 00:01:12,248 --> 00:01:14,447 現在我已經寫了一個叫做eyeSize的變數 30 00:01:14,447 --> 00:01:16,936 因為它將儲存溫斯頓眼睛的大小 31 00:01:16,936 --> 00:01:19,511 但到目前為止,這個變數還沒有值 32 00:01:19,846 --> 00:01:22,642 要給它一個值,我們只要寫入eyeSize 33 00:01:22,642 --> 00:01:27,186 然後一個等號,接著20,分號 34 00:01:27,611 --> 00:01:29,370 好了,看到那等號嗎? 35 00:01:29,370 --> 00:01:31,763 忘了你的數學老師教你的那些 36 00:01:31,763 --> 00:01:35,086 那個等號不是指「相等」,而是「指派」 37 00:01:35,391 --> 00:01:41,264 這表示我們將數值20賦予變數eyeSize 38 00:01:42,014 --> 00:01:43,716 換句話說,我們要把數字20 39 00:01:43,716 --> 00:01:45,576 放進叫做eyeSize的桶子裡 40 00:01:45,728 --> 00:01:48,438 記得在數學課中,你如何描述像是 41 00:01:48,438 --> 00:01:51,818 x = 3,而3 = x嗎? 42 00:01:51,818 --> 00:01:54,457 且它們全都表示相同的意思 因為它們相等? 43 00:01:54,457 --> 00:01:56,377 但,這裡你不可以這麼寫 44 00:01:56,377 --> 00:01:58,443 在等號左邊的東西 45 00:01:58,443 --> 00:01:59,985 永遠是變數 46 00:01:59,985 --> 00:02:03,397 而在等號右邊的東西永遠是值 47 00:02:03,397 --> 00:02:05,331 那個你賦予變數的值 48 00:02:05,501 --> 00:02:08,080 一個好方法幫助你記住哪邊該放什麼 49 00:02:08,080 --> 00:02:09,980 是當你寫程式的同時大聲唸給自己聽 50 00:02:09,980 --> 00:02:11,491 就像每個厲害的程式設計師所做的 51 00:02:11,491 --> 00:02:15,290 當你敲一個等號,別說「等於」,改說「得到」 52 00:02:15,290 --> 00:02:18,587 於是就變成,eyeSize得到20 53 00:02:19,619 --> 00:02:22,049 而現在,無論何時我在我的程式中使用eyeSize 54 00:02:22,049 --> 00:02:24,780 電腦將會像「噢對,那是一個變數」 55 00:02:24,780 --> 00:02:27,871 「我知道它真正代表的是這個數值20」 56 00:02:28,312 --> 00:02:31,131 看看這個-我只要複製它 57 00:02:31,419 --> 00:02:34,405 然後將這四個數字改成 58 00:02:34,785 --> 00:02:37,058 我的新變數eyeSize 59 00:02:38,255 --> 00:02:39,614 你瞧! 60 00:02:39,614 --> 00:02:43,920 溫斯頓的雙眼現在多麼渾圓而且大小一樣 61 00:02:43,920 --> 00:02:46,591 而若我想改變雙眼的值 62 00:02:46,591 --> 00:02:47,730 或雙眼的大小 63 00:02:47,730 --> 00:02:50,547 我就可以只改變這一個變數的值 64 00:02:51,002 --> 00:02:53,045 真是太神奇了! 65 00:02:54,309 --> 00:02:55,667 最後幾點說明 66 00:02:55,667 --> 00:02:58,512 至今我們寫了一個新變數叫做eyeSize 67 00:02:58,512 --> 00:03:01,037 且這裡我們給它一個數值33 68 00:03:01,037 --> 00:03:02,855 實際上我們只需一個步驟就可以全部完成 69 00:03:02,855 --> 00:03:05,927 第一步,寫入var eyeSize 70 00:03:05,927 --> 00:03:08,717 第二步,得到33 71 00:03:08,717 --> 00:03:10,825 若我刪除這兩行 72 00:03:10,825 --> 00:03:12,626 你可以看到一切都還是正常運作 73 00:03:13,449 --> 00:03:16,761 此外,記住電腦從上到下依序讀取你的程式碼 74 00:03:16,761 --> 00:03:19,188 所以它知道在下面的eyeSize代表甚麼 75 00:03:19,188 --> 00:03:21,668 是因為我們已經在上面這裡定義它 76 00:03:21,668 --> 00:03:24,309 如果相反地我把它放在下方這裡 77 00:03:25,021 --> 00:03:28,446 那麼一旦我們執行到這行程式碼,電腦會 78 00:03:28,446 --> 00:03:30,989 「eyeSize到底是什麼? 我不知道它是啥」 79 00:03:30,989 --> 00:03:34,002 事實上,這裡我們收到錯誤訊息 說eyeSize尚未被定義 80 00:03:34,002 --> 00:03:35,570 也許你會想說 81 00:03:35,570 --> 00:03:37,481 「有啊,我有定義它啊,就在這裡!」 82 00:03:37,481 --> 00:03:39,584 但電腦沒這麼聰明,它不知道 83 00:03:40,406 --> 00:03:42,636 所以讓我們把它移回最上方 84 00:03:44,029 --> 00:03:45,549 而且你必須時時確認 85 00:03:45,549 --> 00:03:48,259 在你使用變數之前先定義它 86 00:03:49,137 --> 00:03:51,911 現在你已經了解變數了!耶!