1.算术运算
/*算术运算1.(除+运算外),先将两边的值转为number , ( Number)再计算2.+,有一边为字符串,结果一定为字符串*/console.log(10+"1"-1+true)/*"101"-1=10e 10日+Number(true)*/console.log( "100"-true); //99/*Number( "10e") -Number(true) */console.log( "100"+false); /*"10efalse"*"100"+String(false)*/
2.比较运算
/* >,<,==,!=先将两遍的值转为number,Number()。它返回值是boolean*/console.log(10>true); /* 10>Number(true) */console.log(10>"");/* 10>Number("") */// 比较运算中 特殊: == 运算中的nullvar a = null; //a在内存中不占位置,可以设置任意值console.log(0 == '')console.log(0 == undefined);// 0 == Number(undefined)// console.log(Number(null));// 特殊:等 == 运算中 ,null不会转换为number值// tips:null = undefined,但是不等于其他任何值console.log(null == 0);console.log(null == '');console.log(null == undefined);console.log(null == NaN);
3.逻辑运算
/*&& 只有两遍都为true,结果才为true,只要有一边为false,结果一定为false(遇到结果为false直接返回)|| 只要有一边为true,结果就为true,遇到结果为true直接返回! 取反*/tips:计算顺序 从左到右,返回第一个满足条件的值 (||两边都为false输出第二个false)console.log(10<11 && 12>10)console.log(10>11 && 12>10)console.log(10>11 || 12>10)console.log( ! (10>11))
4.赋值运算
+=,-=,*=,/=,%=var a = 2;a+=4; ↓ a=a+4;
5.三元运算符
var a = (10<5)?"大于":"小于";tips:() 里的返回结果为true,取?后面第一个值,返回解雇欧威false,取?后面第二个值
6. ++ — 运算符
// a++ 等同于 a = a + 1// ++ 放在前面,先自增,后运算,反之,先运算,后自增