算数运算符
var str1 = '化物语'var str2 = '100'var boo = true//加法运算var result1 = num + 200console.log(result1)//300//字符串进行加法运算——>字符串连接var result2 = str1+200console.log(result2)//化物语200console.log(typeof result2)//stringvar result3 = str2+200console.log(result3)//100200console.log(typeof result3)//string/*布尔类型加法运算——>将布尔类型转化为数字值,ture=1 false=0 在进行计算*/var result4 = boo+200console.log(result4)//201console.log(typeof result4)//number//减法运算var result5 = num-100console.log(result5)//0/*字符串减法运算——>先装化为数字值*/var result6 = str1-100console.log(result6)//NaNvar result7 = str2-100console.log(result7)//0//布尔类型减法运算——>先转化为数字值在计算var result8 = boo-100console.log(result8)//-99/*除法:0如果作为除数——>无穷大*//*除法与乘法与加减法一致*/
求余运算符
用于计算两个运算数整除后的余数
//余数的结果是正是负,与除数正负无关,只与被除数正负有关console.log(8 % 3); //2console.log(8 % -3);//2console.log(-8 % 3);//-2console.log(-8 % -3);//-2/*与减法一样,非数字字符串运算为NaN*/console.log('化物语' % 3);//NaN
自增运算符、自建运算符
自增运算符用于整数值逐渐+1/自减运算符-1
var num = 100console.log(num)/*前置自增运算符*++变量名*先自增,再赋值*/var result1 = ++numconsole.log(result1)//101console.log(num)//101/*后置自增运算符* 变量名++* 先赋值,在自增*/var result2 = num++console.log(result2)//100console.log(num)//101
比较运算符
JavaScript中的比较运算符主要比较两个操作数是否相等,同等,大小等情况
大于与小于比较运算符
/*number类型*/console.log(3 > 2);//trueconsole.log(3 < 2);//falseconsole.log(3 >= 3);//true/*boolean类型,会将boolean转化为number再比较*/console.log(true>false);//trueconsole.log(true将文本转换成 Unicode 码 - 对应具有数字值 * 英文单词 -> 从左至右的依次比较字母 Unicode 码的大小 */console.log('a' < 'b');// trueconsole.log('a' > 'A');// trueconsole.log('abc' > 'cba');// falseconsole.log('abc' > 'acd');// falseconsole.log('我' > '你');// true
相等与不等比较运算符
/*number类型*/console.log( 3 == 3 );//trueconsole.log( 3 != 3 );//falseconsole.log( 3 == 2 );//falseconsole.log( 3 != 2 );//true/*boolean类型*/console.log(true == true);// trueconsole.log(true == false);// falseconsole.log(true == 1);// true/*string类型*/console.log('a' == 'a');// trueconsole.log('a' == 'b');// false/*只比较值而不比较类型*/console.log('100' == 100);// true/*由于null和undefined都为空,所以相等*/console.log(null ==undefined)//true
全等与不全等比较运算符
// 全等与不全等 - 不仅比较值,还比较类型console.log(10 === 10);// trueconsole.log('10' === 10);// false/*相等与不相等-不比较类型*/console.log('10' == 10);// true
isNaN()函数
作用:判断当前值是否为NaN
- true - 表示当前值是 NaN(不是一个数字值)
- false - 表示当前值不是 NaN(不是一个数字值)
console.log(isNaN(100));// falseconsole.log(isNaN(Number('化物语')));// true
inFinite()函数
作用:判断当前值是否为无穷大
- false - 表示当前值是无穷大
- true - 表示当前值是有限数值
var result = 100/0;console.log(result);// Infinityconsole.log(isFinite(result));// false
逻辑运算符
JavaScript中的逻辑运算符,基本用法是用于布尔类型的计算
/*逻辑与运算符*/console.log(true && true);// trueconsole.log(true && false);// falseconsole.log(false && true);// falseconsole.log(false && false);// false/* 将逻辑与运算符的两个操作数,转换为布尔类型 * 当左边的操作数为true时,结果为右边操作数的值 * 当左边的操作数为false时,结果为左边操作数的值 */console.log(100 && 1);// 1console.log(1 && 0);// 0console.log(0 && 1);// 0console.log(0 && 0);// 0/*逻辑或运算符*/console.log(true || true);// trueconsole.log(true || false);// trueconsole.log(false || true);// trueconsole.log(false || false);// false/* 将逻辑与运算符的两个操作数,转换为布尔类型 * 当左边的操作数为true时,结果为左边操作数的值 * 当左边的操作数为false时,结果为右边操作数的值 */console.log(100 || 1);// 100console.log(1 || 0);// 1console.log(0 || 1);// 1console.log(0 || 0);// 0/*逻辑非运算符*/console.log(!true)//false /* *如果逻辑状态为true,则通过逻辑非运算符改为false */console.log(!1)//false
赋值扩展运算符
var a = 2 , b = 3 ;var c = a + b;console.log(c);//5/*var a = a + b;//重复赋值console.log(a);//5*//** a += b 等同于 a = a + b*/a += b;console.log(a);//5
条件运算符
/*?前为表达式,先判断表达式真假?后为两个给定指令,用:隔开 根据表达式判断结果执行指令 */var result = 3>2 ? '对':'错'console.log(result)//对var score = 95;score > 90 ? console.log('优秀') : console.log('及格');
条件运算符嵌套
var score = 55;/* 嵌套条件运算符 * 优点 - 扩展了条件运算符本身的计算能力 * 缺点 * 可读性比较差 * 性能随着嵌套的层级越多越差 * 建议 - 最多不要超过三层嵌套 */var result = score > 90 ? '优秀' : (score > 80 ? '良好' : (score > 60 ? '及格' : '不及格'));console.log(result);