运算符和表达式
运算符
-
算术运算符
+ - * / %
+
: 字符串连接符 如果 + 两边有一边是字符串, 那么他就是字符串连接符console.log(1 + 1 + "a" + 1 + 1); console.log(1 + 1 + "a" + (1 + 1));
=
: 赋值运算符 把运算符右边的值, 赋值给左边的变量var num1 = 23; num1 = num2;
%
: 求模 取余 求除法的余数console.log(10 % 3);
注意点 :
- 数学里面除数不能为零 js里面也一样 如果0做了除数, 那么得到的结果是Infinity
- 除法会得到无理数或者无限循环小数 不影响开发
- 尽量不要使用小数去运算 会失去精确度
-
关系运算符
< > <= >= != == !== ===
表达式 : 有运算符和操作数组成的式子 关系表达式的结果只有两种结果 布尔类型的 true false
==
是比较两个数据的值是否相等 不比较数据类型
console.log(3 == "3");
===
比较两个数据的数值和数据类型
console.log(3 === "3");
-
逻辑运算符
&& || !
逻辑运算符是比较多个关系表达式之间的关系 逻辑运算符的结果
不只是布尔类型
的值- 逻辑与
&&
一假则假
// 表达式1 && 表达式2 结果 // false true false // false false false // true false false // true true true
- 逻辑或
||
一真为真
// 表达式1 || 表达式2 结果 // false true true // false false false // true false true // true true true
- 逻辑非
!
true 变 false
false 变 true
console.log( 3 > 5 && 7 < 9); // false console.log( 3 < 5 && 7 < 9); // true console.log( 3 > 5 || 7 < 9); // true console.log( 3 < 5 || 7 < 9); // true console.log(!true); // false console.log(!false); // true
- 逻辑与
Math高级函数
// 1. Math.abs() 求某个数的绝对值
var num = -88;
console.log(Math.abs(num));
// 2. Math.round() 四舍五入
var num = 5.66;
console.log(Math.round(num));
// 2. Math.max() 求最大值
console.log( Math.max(23, 25, 42));
// 4. Math.min() 求最小值
console.log( Math.min(23, 25, 42));
// ************5. Math.random() 生成0-1之间的随机数
var number1 = Math.random() * 100
console.log(number1);
// 5. *******底板函数 Math.floor() 向下取整
console.log(Math.floor(number1));
// 6. ************天花板函数 Math.ceil() 向上取整
console.log(Math.ceil(number1));
var num1 = -5.23;
console.log(Math.ceil(num1));
// 7. Math.PI 常量 必须使用Math去调用
console.log(Math.PI);
var r = 23;
console.log(Math.PI * r * r);
// 8. Math.E 自然对数
console.log(Math.E);
// 9. Math.pow(x, y) 10^3 幂运算
console.log(Math.pow(10, 3));
var sqa = Math.PI * Math.pow(r, 2);
console.log(sqa);
注意:
NaN Not A Number
- 他是数字类型中一个特殊的值 是数学计算错误得出的结果
NaN
不等于任何数值, 包括他自己NaN
与任何数字进行计算 得到的都是NaN
- 检测一个数据是不是
NaN isNaN
(数据)
数据类型转换
- 显示转换 : 程序员手动去做转换
- 其他数据类型转换成字符串(string类型)
(1) String(变量名或者数据) 可以转换undefined 和null开发中的多
- 其他数据类型转换成字符串(string类型)
var num = 66666;
var str = String(num);
console.log(num, str);
console.log(typeof str);
var bool = true;
var bool1 = String(bool);
var bool2 = String(true);
console.log(typeof bool1);
console.log(typeof bool2);
console.log(String(null));
console.log(typeof String(null));
(2) 变量名.toString()
这个方法不能转换undefined和null
console.log(num.toString());
console.log(typeof num.toString());
(3) 数据 + ""
在数据后面直接加一个空字符串 就可以实现转换
var num = 11;
console.log(typeof num);
num = 11 + "";
console.log(typeof num);
var boo = true + "";
console.log(typeof boo);