算数表达式
| 运算符 | 描述 | 示例 |
|---|---|---|
| + | 加法运算符 | x + y 表示计算 x 加 y 的和 |
| - | 减法运算符 | x - y 表示计算 x 减 y 的差 |
| * | 乘法运算符 | x * y 表示计算 x 乘 y 的积 |
| / | 除法运算符 | x / y 表示计算 x 除以 y 的商 |
| % | 取模(取余)运算符 | x % y 表示计算 x 除以 y 的余数 |
可以通过括号来改变运算顺序
加号的两种作用
取余运算
隐式类型转换
在js中,当运算符在运算时,如果两边数据不统—,就无法计算,这时编译器会自动将运算符两边的数据做一个数据类型转换,转成一样的数据类型再计算,这种无需程序员手动转换的方式就称为隐式类型转换。
3 + '4' 就变成连接符了,而不是隐式转换
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
console.log(5 - '5');
console.log('5' * false);
console.log(5 + '5');
</script>
</body>
</html>
IEEE754
.toFixed( ) 方法
- 一个参数
- 表示保留 几位 小数
- 保留过后是字符串
幂、开根号 (内置构造函数)
Math.pow( )
Math.sqrt( )
负数不能开平方
向上取整、向下取整
Math.ceil( )
Math.floor( )
一个数正数情况下,Mach.floor( ) 与 parseInt( ) 是一样的
- ceil 天花板
计算正方形面积
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// 方法1
// var w = Number(prompt('请输入正方形的宽高'));
// alert('正方形的面积为:' + Math.pow(w,2));
// 方法2
var w = Number(prompt('请输入正方形的宽高'));
document.write('正方形的面积为:' + w * w);
</script>
</body>
</html>
关系运算符
相等(==) 和 全等(===)
==
- 通过隐式转换后,判断值是否相等
===
- 先判断类型是否相同,再比较值是否相等
NaN不自等
NaN作为一个特殊的数字类型值,它在用==比较的时候也有特殊的结果
isNaN( )函数
先将需判断的值转换为number (隐式转换)- 再判断值是否为NaN
- 返回true 说明不是一个数(number)
- 返回false 说明是一个数(number)
注意
特殊值的相等
undefined == null; // true
null == undefined; // true
undefined === null; //false
null == 0; // false
NaN == NaN; // false
NaN === NaN; // false
不相等(!=) 和 不全等(!==)
逻辑表达式
非运算(!)
本身就为负性的值:
0、undefined、''(空字符串)
与运算(&&)
- 有一个假便是是假
- 只有全是真才是真
或运算( || )
- 只要有真便是真
- 全是假才是假
短路计算
逻辑与 &&
逻辑或 ||
逻辑运算顺序
逻辑或(||) 最后计算
赋值表达式
快捷赋值
var x = 10;
x += 20;
console.log(x); // 输出:30
var x = 12,
y = 7;
x -= y;
console.log(x); // 输出:5
x = 5;
x *= 25;
console.log(x); // 输出:125
x = 50;
x /= 10;
console.log(x); // 输出:5
x = 100;
x %= 15;
console.log(x); // 输出:10
自增/自减运算符
var x;
x = 10;
console.log(++x); // 输出:11
console.log(x); // 输出:11
x = 10;
console.log(x++); // 输出:10
console.log(x); // 输出:11
x = 10;
console.log(--x); // 输出:9
console.log(x); // 输出:9
x = 10;
console.log(x--); // 输出:10
console.log(x); // 输出:9
综合表达式
判断闰年(练习)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var year = Number(prompt('请输入年份'));
if ((year % 100 != 0 && year % 4 == 0) || (year % 400 == 0 && year % 100 == 0)) {
alert('是闰年');
} else {
alert('不是闰年');
}
</script>
</body>
</html>
习题
var a = 3;
var b = 4;
alert(a++ + b++ + ++a + ++b);
答案 3 + 4 + 5 + 6 = 18