本節書摘來自異步社群《趣學javascript——教孩子學程式設計》一書中的第2章,第2.1節,作者:【美】nick morgan(摩根)譯者: 李強,更多章節内容可以通路雲栖社群“異步社群”公衆号檢視。
趣學javascript——教孩子學程式設計
程式設計其實就是操作資料,可什麼是資料呢?資料就是我們儲存在計算機程式中的資訊。例如,你的名字就是一條資料,年齡也是一條資料。你頭發的顔色,有幾個兄弟姐妹,住在什麼地方,是男生還是女生——所有這些都是資料。
javascript中有3種基本的資料類型:數字、字元串和boolean(布爾類型)。number用來表示數字。例如,年齡可以用一個number表示,身高也可以用number表示。javascript中的數字如下所示:

字元串用來表示文本。名字在javascript中可以用一個字元串來表示,電子郵件位址也可以用字元串表示。字元串看上去如下所示:
boolean是可能為true或false的值。例如,可以用一個boolean值來表示你是否戴眼鏡,也可以用boolean值表示你是否喜歡吃西蘭花。boolean看上去如下所示:
每種資料類型的使用方式不同。例如,可以把兩個數字相乘,卻不能把兩個字元串相乘。對于一個字元串,可以要求擷取其前5個字元。對于布爾值,可以判斷兩個值是否都為真。下面的代碼示例展示了這些可能的操作。
javascript中所有資料都是這些資料類型的某種組合。在本章中,我們将依次學習每種資料類型以及使用每種資料類型的不同方式。
注意
你可能注意到了,所有這些指令都是以分号結尾。分号表示一條特定javascript指令或指令的結束,有點像句子末尾的句号。
javascript可以執行加、減、乘、除這樣的基本數學運算。做這些運算,我們要用到操作符+、-、*和/。
我們可以像使用電腦一樣使用javascript控制台。我們已經看過3和4相加的示例,再來看一個更難的示例,12345加56789等于幾?
心算不是很容易,但是javascript計算則不需要花費什麼時間。
還可以把多個數字加在一起:
javascript也可以做減法運算:
還可以使用星号做乘法運算:
使用斜杠做除法運算:
還可以把這些簡單的運算組合成一個較為複雜的計算,如下所示:
這裡有一個小技巧,因為計算結果取決于javascript每次運算的順序。數學的規則是,乘法和除法總是在加法和減法之前進行,javascript也遵循這個規則。
圖2-1展示了javascript執行的順序。首先,進行乘法運算,57*3得到171(用紅色字型表示)。然後,進行除法運算,31/4得到7.75(用藍色字型表示)。接下來,進行加法運算,1234+171得到1405(用綠色字型表示)。最後計算減法,1405-7.75得到1397.25,這就是最後的結果。
如果想要在執行乘法和除法之前,執行加法和減法運算,該怎麼辦呢?例如,你有1個兄弟和3個姐妹,有8個糖果,你想要把糖果平均分給4個兄弟姐妹,該怎麼辦?(你已經拿了自己的糖果!)你必須用糖果數除以兄弟姐妹的數量。
下面是一種嘗試:
這是不對的。當你隻有8個糖果時,你是無法給兄弟姐妹每人11個糖果的。問題就在于,javascript在做加法前先做了除法,先計算8除以1(等于8),然後再加上3,得到的是11。要修正這個算式,以便讓javascript先做加法計算,我們需要使用括号:
這個結果靠譜!兄弟姐妹每人兩個糖果。括号強制javascript先計算1加3,然後再用8除以4。
試試看
假設你的朋友試圖用javascript計算要買多少個氣球。她要舉辦一個聚會,想要每個人吹爆2個氣球。開始有15個人要來,後來她又邀請了9個人。她試圖使用下面的代碼來計算:
但這似乎不對。
問題在于乘法在加法之前計算。為確定javascript先做加法,你需要怎樣加括号呢?你的朋友實際上需要買多少個氣球呢?