1、 减法运算符 ( - )
// 在算术计算中先将数据转换为number,再计算var a = true;var b = "13";var c = b-a;/* var c = Number(b)-Number(a) */console.log(c) // 输出12"true1"-1 // NaN
2、 加法运算符 ( + )
+ 运算符 特殊:遇到字符串变为 拼接符
// + 运算符 特殊:遇到字符串变为 拼接符var a = "10";var b = 1;var c = true;console.log(a+b-c) // 101-1= 100console.log(a+b+c) // 101trueconsole.log(a-b+c) // 10console.log(a+c-b) // NaN// NaN和任何数值去计算,结果都是NaN"1"-9+"true"-parseInt(12.34) // NaN"9"-8+"false" // 1false"9"-8-"false" // NaN
3、 比较运算符 ( >,<,==,===)
,<,== 返回的是boolean
- 先将两边的值转为number,再比较
- NaN和任何值作比较,结果都为NaN
- ===不仅值相等,类型也要相同
var a = true;var b = "10"var c = "hello"console.log(a>b) // Number(a)>Number(b) 1>10 falseconsole.log(a>c) // Number(a)>Number(c) 1>NaN falseconsole.log(Boolean(NaN)) // false// NaN和任何值作比较,结果都为NaN
console.log(3=="3.00"); //trueconsole.log(3==="3")
3-1、特殊字符串与数字比较
1-1 纯数字符串会自动转换为数字,true转为1,false转为0,null转为01-2 null在==运算中特殊a、null不会转换为number,它不等于任何值b、null==undefined1-3 undefined在全等运算中还是先转为数字类型,它是NaN所以和其他值运算,结果为false
console.log(null == false) //falseconsole.log(null == 0); //falseconsole.log(null == undefined) //trueconsole.log(undefined == false) //falseconsole.log(false == 0)
4、 值为 false的情况
undefined,””,NaN,0 ,null—> falsevar a;console.log(a) // undefinedconsole.log(Boolean(a)) //falseconsole.log(Boolean(null)) // false
