1)数据类型的转换
查看数据类型
// 隐式转换
var a="1";
var b=2;
console.log(a+b);//结果是 12
console.log(b-a);//结果是1
//正常逻辑下会报错 number 与 string 运算
// 这种情况只可能发生再弱类型语句中,类型不相同,弱类型语言会自动将数据转换为对应的类型
// 强制转换 主动将数据的类型强制转换为某种类型
String();强制转换为字符串
Number();强制转换为数值类型
toString();转换进制 二进制 等
toFixed();将数值转换成字符串四舍五入保留小数点后几位 有精度误差
parseInt(字符,进制); toString();的逆转换 可以把指定字符以指定进制转换为数值 只有一个值就是强转数值整型 2.01---》2
parseFloat(); 强转小数 保留小数点后几位小数
Boolean(数据); 转换为布尔值 true false
isNaN(); 转换为非数值
2)算术运算符
+ 加法 - 减法 * 乘法 / 除法 % 取余
//+ //字符相加 “2”+“6”————》26 //数值相加 2+6—————》8
//字符加数值 "2"+6 ————》 26
//如果字符与非字符相加会自动转换toString() 字符
//onclick 点击事件侦听
3)算赋值运算和一元运算
+= -= *= /= %=
var a=10; a+=4;//这里a的值为14 4等于加了4个步长一个步长是1 a-=4;//这里a的值为6 减去4个步长 a*=4;//这里a的值为40 乘以4个步长 a/=4;//这里a的值为2.5 除以4 a%=4;//这里a的值为0 10除以4 取余为0
一元运算
-- 递减 ++ 递增
var a=10; a--;//9 10-1 a++;//10 9+1
思考下面每个i的值和 i-- 与 --i 的区别
var i=60; var m=--i - i-- - i - i-- - i--; //173= 60 - 59 - 59 - 58 - 57 console.log(m,i);//173 57
--i i本身的值未发生改变 i-- i的值发生了改变
3)关系运算符
>= 大于等于 <= 小于等于 < 小于 > 大于 == 相对等于 ===绝对等于 != 不等于 !==绝对不等
== 与 ===
== 比较时 先隐式转换为相同类型再比较 undefined == null 结果为true· 0 == null 结果为false ”“ == false 结果为·true· 0 ==”“ 结果为true· 0 == false 结果为true NaN==NaN 结果 false 非数值永远不相等
=== 比较时 比较严格 undefined === null 结果为 false
4)逻辑运算符
&& 与 || 或
&& 同时满足多个条件
true && true // true
false && true· // false
true· && false //false
false && false //false
|| 满足任意一个即可
true || true //返回第一个true
false || true· // 返回true·
false || false // 返回false
true·|| false //返回true
var a=6; console.log(a>5 && a<10); // true console.log(a>5 && a <10 && a==8); // false
console.log(a>5 || a<10); //true
console.log(a>10 || a<10); //true
console.log(a<5 || a=5); //false