字符串连接符
如果“+”两边又一边是字符串,那么他就是字符串连接符
console.log("a" + 1);
赋值运算符
把运算符右边的值, 赋值给左边的变量
算术运算符 + - * / %
注意点 :
- 数学里面除数不能为零 js里面也一样 如果0做了除数, 那么得到的结果是Infinity
- 除法会得到无理数或者无限循环小数 不影响开发
console.log(1/3);
- 尽量不要使用小数去运算 会失去精确度
console.log(0.5-0.2);
关系运算符
//< > <= >= != == != ===
表达式 : 有运算符和操作数组成的式子 关系表达式的结果只有两种结果 布尔类型的 true false
== 是比较两个数据的值是否相等 不比较数据类型
.
逻辑运算符
&& || ! 逻辑运算符是比较多个关系表达式之间的关系 逻辑运算符的结果不只是布尔类型的值
(1)逻辑与 && 一假则假
(2)逻辑或 || 一真则真
(3)逻辑非 ! true变false, false变true
复合运算符
- 加等运算符 “+=”:在自身的基础上加多少
var a = 0;
console.log(a+=5); //a+=5 等于 a = a + 5
- 减等运算符 “-=”:在自身的基础上减多少
var a = 0;
console.log(a-=5); //a-=5 等于 a = a - 5
- 减等运算符 “*=”:在自身的基础上乘多少
var a = 2;
console.log(a*=5); //a*=5 等于 a = a * 5
- 除等运算符 “/=”:在自身的基础上除多少
var a = 2;
console.log(a/=5); // a/=5 等于 a = a / 5
- 模等运算符 “/=”:在自身的基础上模余多少
Math 函数
- Math.abs() 求某个数的绝对值
var num = -6;
console.log(Math.abs(num));
- Math.round() 四舍五入
var num = 3.333;
console.log(Math.round(num));
- Math.max() 求最大值
console.log(Math.max(30,60,99));
- Math.min() 求最小值
console.log(Math.min(30,60,99));
- Math.random() 生成0-1之间的随机数
var num1 = Math.random() * 10 //1-10之间
console.log(Math.random(num1));
- 底板函数 Math.floor() 向下取整
console.log(Math.floor(num1));
- 天花板函数 Math.ceil() 向上取整
console.log(Math.ceil(num1));
- Math.PI 常量 必须使用Math去调用 圆周率
var r = 3;
console.log(Math.PI * r * r);
- Math.E 自然对数
console.log(Math.E);
- Math.pow(x, y) 10^3 幂运算
var n = Math.PI * Math(r,2) //r为底数,2是指数
console.log(n);
数据类型转换
显示转换和隐式转换
显示转换 : 程序员手动去做转换
-
其他数据类型转换成字符串(string类型)
(1) String(变量名或者数据) 可以转换undefined 和null 开发中的多
(2) 变量名.toString() 这个方法不能转换undefined和null
(3) 数据 + “” 在数据后面直接加一个空字符串 就可以实现转换 -
把其他数据类型转换成number类型
(1) parseInt() 把其他数据类型转换成整数类型 偏向于转换字符串
特点:①从左到右解析,遇到非数字字符, 就停止解析, 输出已经解析出的数字
② 如果第一字符就是非数字字符, 就无法转换, 得到NaN(2) parseFloat() 把其他数据类型转换成小数
与parseInt特点一样, 唯一的区别, 就是可以解析小数(3) Number() 把其他数据类型转换成数字
特点:① 可以把其他数据类型转换成数字类型, 偏向于转布尔类型的数据
②如果转换的数据里面有任意一个是非数字字符(小数点除外), 那么得到的结果就是NaN
③ 注意undefined 转换成数字, 是NaN null 是0
④转布尔类型 true 是1 false是0(4)在数字前面+
特点:跟Number()转换的原理一样, 特点也一样 -
转换布尔类型
- 语法:Boolean()
- 转换成false的八种情况:0 、 -0 、null 、 NaN 、 undefined 、" "(空字符串) 、false 、document.all
-
隐式转换
- 转换成字符串:“ + ” 字符串连接符 。运算符两边,只要有一边是字符串,那么就会把另外一边转换成字符串进行拼接
- 转换成数字:自增自减 , 运算符(除加号作为字符串连接符以外)两边必须是数字才能进行计算
- 转换成布尔类型:逻辑非的操作数必须是布尔类型,计算机自动转换。
知识点补充
NaN:Not A Number
- 它是数字类型中一个特殊的值 是数学计算错误得出的结果
- NaN不等于任何数值, 包括他自己
- NaN与任何数字进行计算 得到的都是NaN
- 检测一个数据是不是NaN isNaN(数据)