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("") */
// 比较运算中 特殊: == 运算中的null
var 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
// ++ 放在前面,先自增,后运算,反之,先运算,后自增