JavaScript|JavaScript算术运算符,一元运算符,比较运算符,逻辑运算符,三元运算符的学习

算术运算符

  • 算术运算符
    主要是+ (加)、- (减)、* (乘)、/ (除)、% (取余)等简单运算,以下借用操作系统中的node环境进行直接输出举例。
JavaScript|JavaScript算术运算符,一元运算符,比较运算符,逻辑运算符,三元运算符的学习
文章图片

一元运算符
  • 递增递减操作符
    ++ 表示每次递增1,– 表示每次递减1。常用于遍历操作,比如要遍历某个数组,求所有值的和,需要将数组中的每个值逐个取出叠加,每次取值的时候都需要将索引递增1。(输出结果在当行输出的//注释后)
//++--前置++--后置++-- //递增1递减1 var a = 15; a++;//a = a+1; ++a; //a = a+1; console.log(a); //16var b = 15; var c = b++; console.log(b,c); //1615 //前置,先++,再使用 var d = 15; var e = ++d; console.log(d,e); //1616

总结:(1)后置++,–,先使用a,后++,–。
(2)前置++,–,先++,–,再使用a。
  • 赋值运算符
    常用的有*=,/=,%=,+=,-= 。
var a = 5; a += 5; //a = a+5; console.log(a); //10 a -= 2; //a = a-2; console.log(a); //8 a *= 10; //a = a*10; console.log(a); //80 a /= 5; //a = a/5; console.log(a); //16 a %= 3; //a = a%3; console.log(a); //1

  • 一元运算符+
    相当于调用Number(),将其他数据类型转换为number类型 。
  • 【JavaScript|JavaScript算术运算符,一元运算符,比较运算符,逻辑运算符,三元运算符的学习】一元运算符-
    (1)将一元减应用于数值时,数值会变成负数。
    (2)将一元减应用于非数值时,遵循与一元加操作符相同的规则,最后将得到的数值转化为负数。
//应用于数值时 console.log(+10); //10 console.log(-10); //-10 //应用于非数值时 var a = '123'; console.log(typeof a); //string //将字符串转换成number类型 var result = +a; //123 console.log(result,typeof result); //123number console.log(-a); //-123console.log(+'123'); //123 console.log(+'hello'); //NaN console.log(+'123a'); //NaN console.log(+'12.3'); //12.3 console.log(+'12.3.4'); //NaN console.log(+'016'); //16(不识别八进制,识别成十进制) console.log(+'0xaa'); //170(识别十六进制) console.log(+' 123'); //123 console.log(+'12 3'); //NaN(可识别字符串最前面和最后面的空格,字符串内的空格不可识别) console.log(+' 123 '); //123 console.log(+''); //0(空字符串转成number是0) console.log(+' '); //0(空格字符串转成number是0)//将boolean使用+转换成number console.log(+true); //1 console.log(+false); //0console.log(+undefined); //NaN console.log(+null); //0

总结:(1)’’,"",false,null等转换为number类型时,直接为0,undefined则转换成NaN,true则被转换成1。
(2)不识别八进制,直接识别成十进制。识别十六进制。
(3)可识别字符串最前面和最后面的空格,字符串内的空格不可识别。
比较运算符
比较运算符有 =====!=!==<<=>>=等,且返回都是true/false
JavaScript|JavaScript算术运算符,一元运算符,比较运算符,逻辑运算符,三元运算符的学习
文章图片

逻辑运算符
  • 逻辑非 ! / !!
该操作符应用任何类型数值都返回一个【布尔值】。先将任意类型的数值转换为Boolean,然后取反。
var a = true; //!a取反false //!a取反再取反true console.log(!a); //false console.log(!!a); //true //string-->boolean console.log('----string-->boolean-------'); console.log(!!'hello'); //true console.log(!!' '); //false console.log(!!''); //false //number-->boolean console.log('------number-->boolean------'); console.log(!!1); //true console.log(!!2); //true console.log(!!0); //false console.log(!!NaN); //false console.log(!!Infinity); //trueconsole.log('-------null-->boolean-false'); console.log(!!null); //false console.log('-------undefined-->boolean-false'); console.log(!!undefined); //false

  • 逻辑与&&
逻辑与&&,有假则假。如果第一个数为假性值(’’,0,NaN,null,undefined,false),直接返回第一个数,否则返回第二个数。
console.log(""&&123); //'' 空字符串 console.log(0&&null); //0 console.log(123&&345); //345 console.log(123&&undefined); //undefined console.log(!!(123&&undefined)); //false console.log(!!123&&undefined); //undefined

  • 逻辑或 ||
逻辑或 || 短路运算符,有真则真,同假才假。如果第一个为真,直接返回第一个数,否则返回第二个数。
console.log(0||123); //123 console.log(NaN||undefined); //undefined console.log(123||345); //123 console.log(123||undefined); //123 console.log(''||123); //123

三元运算符
三目运算符的书写格式为:表达式?值1:值2 。如果表达式成立,用值1,表达式不成立,则用值2。
console.log(3<5?1:2); //1 console.log(3>5?1:2); //2var a =5 10<20?a++:a--; console.log(a); //6

    推荐阅读