Return to Video

More Variables (Video Version)

  • 0:02 - 0:04
    我們已經寫了這超酷的變數
  • 0:04 - 0:06
    來控制溫斯頓的眼睛大小,那真的非常有用
  • 0:06 - 0:10
    因為當我們想改變溫思頓雙眼的大小時
    它省了我們很多字數
  • 0:10 - 0:13
    記得:之前我們需要重複寫入相同的數字四次
  • 0:13 - 0:16
    去改變他眼睛的大小
  • 0:16 - 0:18
    但是,我們還可以用變數去取代數字
  • 0:18 - 0:19
    即使數字不是完全一樣嗎?
  • 0:19 - 0:22
    例如,如果我想移溫斯頓右一點又怎樣?
  • 0:22 - 0:24
    我可以改變這裏每一個x座標值
  • 0:24 - 0:26
    但它們不全都一樣
  • 0:26 - 0:28
    所以我不能只用某變數來取代它們全部
  • 0:28 - 0:29
    但等一下!
  • 0:29 - 0:31
    一旦我指派變數一個數字,
  • 0:31 - 0:34
    我就可以使用那變數如那數字一樣
  • 0:34 - 0:37
    這也表示我可以使用變數和數學表示式
  • 0:37 - 0:38
    所以,這麼做如何:
  • 0:38 - 0:41
    來寫一個變數代表著溫斯頓的x座標位置
  • 0:41 - 0:43
    稱它為var x
  • 0:43 - 0:45
    非常簡單
  • 0:45 - 0:48
    好,現在給它溫斯頓臉部的x座標值
  • 0:48 - 0:51
    他的臉會被畫在x座標200的位置
  • 0:51 - 0:54
    所以,我們便說變數x得到200
  • 0:55 - 0:59
    現在我可以用我的新變數x來取代這數字
  • 0:59 - 1:02
    而當我改變x值時,它會移動溫斯頓的臉
  • 1:02 - 1:04
    但不包括他的眼睛或嘴巴
  • 1:05 - 1:07
    要修正那點
  • 1:07 - 1:11
    我們要定義他眼睛和嘴巴的位置
  • 1:11 - 1:14
    相對於他臉部的位置
  • 1:15 - 1:18
    x座標將會成爲其它所有橢圓形的中心點
  • 1:18 - 1:23
    所以他的臉會被畫在——那是200
  • 1:23 - 1:25
    先來做他的左眼
  • 1:25 - 1:26
    這橢圓形是他的左眼
  • 1:26 - 1:30
    我們可以看到它正被畫在150上
  • 1:30 - 1:33
    就在這裡,那是150
  • 1:33 - 1:38
    而且我知道150是200再少50
  • 1:38 - 1:43
    所以他的左眼應該位於他臉地位置,減去50
  • 1:43 - 1:48
    也就是x,代表他臉的位置,- 50
  • 1:48 - 1:51
    現在,若我改變這x座標的值
  • 1:51 - 1:53
    他的眼睛便會跟著臉一起移動
  • 1:53 - 1:55
    讓我們來做剩下的
  • 1:55 - 1:58
    他的右眼正被畫在300上
  • 1:58 - 2:01
    我可以看到這個在這裡是300
  • 2:01 - 2:06
    而300,我知道,是比200再多100
  • 2:06 - 2:10
    所以他的右眼應該位於他臉的位置加上100
  • 2:10 - 2:13
    也就是x + 100
  • 2:13 - 2:14
    現在就剩他的嘴巴了
  • 2:14 - 2:17
    他的嘴巴正被畫在250上
  • 2:17 - 2:19
    就在這裡,250的位置
  • 2:19 - 2:23
    而250是200加50
  • 2:23 - 2:26
    也就是在——噢,那是5
  • 2:26 - 2:31
    也就是他臉的位置,x + 50
  • 2:31 - 2:33
    現在——我要把這些塗鴉都擦掉
  • 2:33 - 2:38
    每當我改變x值,它就會移動他的整張臉
  • 2:38 - 2:40
    耶!
  • 2:40 - 2:43
    在你離開前,還有兩件關於變數的事你必須了解
  • 2:43 - 2:46
    一旦你用var x做了一個變數
  • 2:46 - 2:49
    你可以繼續賦予值給它,多少遍都可以
  • 2:49 - 2:52
    所以,在給x一個198的值後
  • 2:52 - 2:55
    我可以再說x得到300
  • 2:55 - 2:59
    或x得到150
  • 2:59 - 3:01
    從那時起,電腦就會視x
  • 3:01 - 3:04
    為任何我們最後賦予它的值
  • 3:04 - 3:05
    在這情況下,就是150
  • 3:05 - 3:08
    但是,你只需為每個變數寫一次var
  • 3:08 - 3:13
    相反地,在這裡,如果我寫var x得到150的話
  • 3:13 - 3:16
    那就會創造出一個叫x的全新變數
  • 3:16 - 3:18
    在程序上會完全消滅舊的變數x
  • 3:18 - 3:22
    而所有這些變數便會消失,到垃圾箱去
  • 3:22 - 3:25
    之後,電腦只會使用那新變數
  • 3:25 - 3:28
    有時你可以這麼做
    而不會有什麼恐怖事情發生在你身上
  • 3:28 - 3:30
    但我不會這麼建議
  • 3:30 - 3:33
    現在,我只要來做一次:var x得到150
  • 3:33 - 3:37
    非常方便地,我可以把溫斯頓完全移出視窗外
  • 3:37 - 3:40
    以便解說下一個重點
  • 3:40 - 3:45
    每當你使變數等於某物
  • 3:45 - 3:47
    那變數就處在一個快樂、安全的地方
  • 3:47 - 3:50
    事實上,等號的左邊
  • 3:50 - 3:54
    是唯一變數可以真切感受到自己存在的地方
  • 3:54 - 3:57
    因為那是唯一一個電腦會把它視為變數的地方
  • 3:57 - 4:00
    在其他任何位置,電腦只會假裝它是一個值
  • 4:00 - 4:02
    所以即使我們做了像這樣的事:
  • 4:02 - 4:06
    var x得到10
  • 4:06 - 4:11
    然後x得到x
  • 4:11 - 4:12
    唔,好混亂
  • 4:12 - 4:15
    在左邊,我們已有x
  • 4:15 - 4:17
    一個自由思考、獨立的變數
  • 4:17 - 4:20
    一個可以成長、改變的變數
  • 4:20 - 4:25
    但,在右邊,只是,它就只是10
  • 4:25 - 4:27
    真難過!
  • 4:27 - 4:29
    但那表示我們可以做些非常有用的東西像這樣:
  • 4:29 - 4:34
    我可以說x得到x + 1
  • 4:34 - 4:37
    所以,在左邊,我們已使變數
    處在一個快樂、安全的地方
  • 4:37 - 4:40
    而在右邊,我們有這個變數
  • 4:40 - 4:43
    基本上據我們所知就是一個數字
  • 4:43 - 4:44
    也就是10
  • 4:44 - 4:48
    在腦中我們可以用x得到10加1來取代它
  • 4:48 - 4:52
    意思就是x得到11
  • 4:52 - 4:54
    所以,這整行基本上就是說x得到11
  • 4:54 - 4:58
    從現在起,x值就是11
  • 4:58 - 5:01
    來看看如果我們將另一個變數
    帶入方程式中會發生什麼事
  • 5:01 - 5:07
    我要使var x得到10
  • 5:07 - 5:10
    var y得到20
  • 5:10 - 5:12
    x得到y——
  • 5:12 - 5:14
    我的天阿——
  • 5:14 - 5:17
    然後y得到7
  • 5:17 - 5:19
    好,而我想知道的是
  • 5:19 - 5:22
    x值是多少?
  • 5:22 - 5:24
    讓我們來找出答案
  • 5:24 - 5:27
    在這一行,我們正在建立一個新變數x
  • 5:27 - 5:29
    並指派它10的數值
  • 5:29 - 5:32
    所以x值是10
  • 5:32 - 5:34
    在這一行,我們正在建立一個新變數y
  • 5:34 - 5:36
    並給它20的數值
  • 5:36 - 5:37
    我們沒有對x做任何事
  • 5:37 - 5:39
    所以x值仍然是10
  • 5:39 - 5:42
    在這裡,我們在說x得到y
  • 5:42 - 5:44
    那蠻令人費解的,但如果你想一下
  • 5:44 - 5:46
    我們知道在這些變數裏只有一個
  • 5:46 - 5:48
    是在那快樂、安全的地方
  • 5:48 - 5:53
    而另一個變數正被如數字一般地對待
  • 5:54 - 5:55
    所以在這裡,我們可以在腦裡
  • 5:55 - 5:58
    使y被它的值取替,也就是20
  • 5:58 - 6:02
    且我們知道這行真正的意思是x得到20
  • 6:02 - 6:05
    所以,在這x值為20
  • 6:05 - 6:09
    接著,在這裡,這次我們的y正處在那快樂的位置
  • 6:09 - 6:10
    其實不是真的那麼混亂
  • 6:10 - 6:13
    因為我們在另一邊只是放了一個數字而已
  • 6:13 - 6:18
    所以,問題於這:當我在這改變y值時
  • 6:18 - 6:21
    會同時改變上面的x值嗎?
  • 6:21 - 6:22
    答案是:
  • 6:23 - 6:26
    不!不,不,不,不,不會!
  • 6:26 - 6:28
    你必須記住,在這裡,
  • 6:28 - 6:32
    y正被像是數字的方式對待
  • 6:32 - 6:35
    電腦將會完全忽視它是一個變數
  • 6:35 - 6:36
    忘記它可以更改的事實
  • 6:36 - 6:39
    而它只會說:
  • 6:39 - 6:43
    「噢,y?你真正指的是20吧。」
  • 6:43 - 6:45
    所以在這,我們只是在指派x一個數字
  • 6:45 - 6:47
    而不是在指派一個變數
  • 6:47 - 6:50
    我們正賦予y值,也就是20
  • 6:50 - 6:54
    那意思是x值保持20
  • 6:54 - 6:58
    即使我們在最後一行改了變數y的值
  • 7:00 - 7:02
    呼!懂了嗎?
  • 7:02 - 7:05
    現在你們完全是變數專家了
  • 7:05 - 7:07
    恭喜!
Title:
More Variables (Video Version)
Description:

more » « less
Video Language:
English
Duration:
07:10

Chinese, Traditional subtitles

Revisions