第2章 类型与变量
趣学JavaScript——教孩子学编程
编程其实就是操作数据,可什么是数据呢?数据就是我们保存在计算机程序中的信息。例如,你的名字就是一条数据,年龄也是一条数据。你头发的颜色,有几个兄弟姐妹,住在什么地方,是男生还是女生——所有这些都是数据。
JavaScript中有3种基本的数据类型:数字、字符串和Boolean(布尔类型)。number用来表示数字。例如,年龄可以用一个number表示,身高也可以用number表示。JavaScript中的数字如下所示:
字符串用来表示文本。名字在JavaScript中可以用一个字符串来表示,电子邮件地址也可以用字符串表示。字符串看上去如下所示:
Boolean是可能为true或false的值。例如,可以用一个Boolean值来表示你是否戴眼镜,也可以用Boolean值表示你是否喜欢吃西兰花。Boolean看上去如下所示:
每种数据类型的使用方式不同。例如,可以把两个数字相乘,却不能把两个字符串相乘。对于一个字符串,可以要求获取其前5个字符。对于布尔值,可以判断两个值是否都为真。下面的代码示例展示了这些可能的操作。
JavaScript中所有数据都是这些数据类型的某种组合。在本章中,我们将依次学习每种数据类型以及使用每种数据类型的不同方式。
注意
你可能注意到了,所有这些命令都是以分号结尾。分号表示一条特定JavaScript命令或指令的结束,有点像句子末尾的句号。
2.1 数字和运算符
JavaScript可以执行加、减、乘、除这样的基本数学运算。做这些运算,我们要用到操作符+、-、*和/。
我们可以像使用计算器一样使用JavaScript控制台。我们已经看过3和4相加的示例,再来看一个更难的示例,12345加56789等于几?
心算不是很容易,但是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先做加法,你需要怎样加括号呢?你的朋友实际上需要买多少个气球呢?