算术运算符
数学运算符
+ - * /+ -%++ --(下节课讨论)**幂
细节
数字运算是不精确的
除数为0
如果被除数是正数,得到结果 Infinity (正无穷) 如果被除数是负数,得到结果 -Infinity (负无穷) 如果被除数是0,得到结果 NaN (Not a Number,非数字)
typeof函数返回类型为string isNaN函数,该函数用于判断一个数据是否是NaN,返回boolean isFinite函数,该函数用于判断一个数据是否是有限的,返回boolean
- 求余
%,有的教程称之为求模
余数的符号,与被除数相同。
其他类型使用算术运算
- 除加号之外的算术运算符
将原始类型转换为数字类型(自动完成转换),然后进行运算。
- boolean: true -> 1, false -> 0
- string: 如果字符串内部是一个正确的数字,直接变为数字,如果是一个非数字,则得到NaN(能识别Infinity,不能把字符串内部的东西当作表达式),如果字符串是一个空字符串(没有任何内容),转换为0. 字符串转换时,会忽略前后空格。
NaN虽然是数字,但它和任何数字作任何运算,得到的结果都是NaN
- null:null -> 0
- undefined: undefined -> NaN
将对象类型先转换为字符串类型,然后再将该字符串转换为数字类型
对象类型 -> "[object Object]" -> NaN
- 加号运算符
- 加号一边有字符串,含义变为字符串拼接
将另一边的其他类型,转换为字符串
数字 -> 数字字符串 boolean -> boolean字符串 null -> "null" undefined -> "undefined" 对象 -> "[object Object]"
加号两边都没有字符串,但一边有对象,将对象转换为字符串,然后按照上面的规则进行
其他情况和上面的数学运算一致
作业
- 温度转换器
设置一个变量,保存摄氏温度(C),将其转换为华氏温度(F)
F = (9/5)C + 32
- 利息计算器
设置变量,分别存放本金、月数、年利率,计算利息
