做数学
变量可以用来存储字符串和数字(以及其他东西),但这里主要关注数字。
有多少水果?
在你的控制台中,让我们创建两个变量。一个将是我们拥有的苹果数量,另一个将是我们拥有的梨的数量。
var apples = 5, pears = 10;
这创建了两个变量……但只有一个 var 关键字?是的,这是一种同时声明和初始化多个变量的简写方法。通过只使用一次 var 关键字并将新变量用逗号分隔,可以节省一些工作。
现在,使用这两个变量来计算总共有多少件水果。
var piecesOfFruit = apples + pears;
这倒是新鲜事。
你要求浏览器在将结果分配给 piecesOfFruit 之前先计算右侧的总和——你不是在相加变量名,而是在相加变量的值。浏览器知道,当它看到这样的变量时,你想对它的值做些什么。所以它会在执行加法之前去获取每个变量的值。
总和被称为 piecesOfFruit,而不是 pieces of fruit。这是因为变量名不能包含空格!有一套关于你可以使用什么和不能使用什么的规则,但目前只使用不带空格的字母。
分配水果
假设你想把水果分给 3 个人。每个人能分到多少水果?
var piecesForEachPerson = piecesOfFruit / 3;
谢天谢地我们有这个 JavaScript,否则你得用计算器来算这道题了……
你使用斜杠(“/”)来表示除法:用左边的数除以右边的数。
优先级与运算符
对于计算,你可以使用各种符号:加法(“+”)、减法(“-”)、除法(“/”)和乘法(“*”)。
数学符号称为运算符;也就是说,它们操作一些数据。稍后我们会遇到更多运算符,但你应该知道,就像在计算器上一样,符号是按照特定的顺序计算的,称为运算符优先级。括号里的内容——也就是这些:“(”和“)”——会先被计算,然后是乘法和除法,最后是加法和减法。
这是一个例子,逐步展示浏览器如何运行它
(10 + 2) / 2 + 4 * 2
括号里的部分先被计算。所以这就变成了……
12 / 2 + 4 * 2
……计算结果为……
6 + 4 * 2
然后按照运算符优先级顺序进行计算。如果多个计算具有相同的优先级,则从左到右进行计算。
乘法具有更高的优先级,所以先计算,计算结果为……
6 + 8
这用于计算最终值
14
呼!
