1.算术运算符
+ - * / %(加 减 乘 除 取模)
var number1 = 10 var number2 = 20 console.log(number1+number2);//30 console.log(number1-number2);//-10 console.log(number1*number2);//200 console.log(number1/number2);//0.5 //大数取小数得到的是余数 小的数取大的数得到的是本身(小的数) console.log(number1%number2);//10 console.log(number2%number1);//0
//+法运算 如果对应的有一个值的类型是字符串 那么得到就是字符串类型 (字符串进行拼接) console.log('1'+2); //12 console.log('1'+true); //1true console.log('1'+undefined); //1undefined console.log('1'+null); //1null
//除此之外的所有都是会转为对应的数值然后进行运算 默认的转换用到的是number方法 console.log(null+true);//1 console.log(undefined+true);//NaN NaN进行任何数值运算得到的数值都是NaN console.log(undefined*true);//NaN NaN进行任何数值运算得到的数值都是NaN console.log(null*true);//0
++ -- (自增 自减) var number = 10 number++ //number=number+1 console.log(number)//11 var number = 10 number-- //number=number-1 console.log(number)//9
前置 var number = 10 console.log(++number);//11 console.log(number);//11 后置 console.log(number++);//10 console.log(number);//11
注意:前置和后置的区别
1.前置先执行 先++再执行其他的代码
2.后置后执行 先走了对应的其他代码以后再执行++操作
2.逻辑运算符
&& || ! (与 或 非)
// && 与 俩个都是true 则返回true(最后一个true) 有一个是false就返回false (第一个false) console.log('0' && undefined && NaN)//undefined console.log('undefined' && 10 && 20)//20 // || 或 有个true直接取第一个true 如果都是false取最后一个false console.log('0' || undefined || NaN)//'0' console.log('undefined' || 10 || 20)//'undefined' // ! 非 取反操作 将对应的真的变假的 假的变真的 返回的结果是一个boolean类型 console.log(!1);//false
3.条件运算符
> < >= <= == === != !== 大于 小于 大于等于 小于等于 等值 等同 非等值 非等同 返回的是一个boolean类型的值 (true或者false)
// 字符串和对应的数值比较 比较的过程会进行数值类型的转换 NaN 出现NaN结果就是false var str = 'abc' var str1 = '123' console.log(str>a);//false 出现了NaN console.log(str1>a);//true //== 判断俩个值是否相等 进行转换操作 console.log('123'==123);//true 字符串的数值和普通数值进行比较他是返回true console.log(true==1);//true console.log(NaN==NaN);//false console.log(undefined==null);//true console.log(NaN!=NaN);//true //=== 恒等 全等俩个类型以及值完全相等 基于== console.log('123'===123);//false console.log(NaN===NaN);//false console.log(undefined===null);//false
4.赋值运算符
= += -= *= /= %= var a = 10 a+=10 //a=a+10 20 a*=10 //a=a*10 200 a/=10 //a=a/10 20 a-=10 //a=a-10 10 a%=2 //a=a%2 0 console.log(a);//0
5.位移运算符
<< >> //位移运算是将对应的数值转为二进制进行移位运算(将一个数值转为二进制使用除二取余法)
// 怎么快速把2变成8 后面补零 console.log(2<<2);
6.扩展内容(进制转换)
常用的进制分为 2进制 4进制 8进制 16进制(颜色设置 最的值为f)
1.将对应的10进制转为其他进制得到的是字符串 toString
var number = 8 console.log(number.toString(2))
2.将其他进制转为10进制得到就是数值 parseInt
var str = '1f' //16进制的字符串 console.log(parseInt(str,16))//将16进制转为10进制