JavaScript|JavaScript算术运算符,一元运算符,比较运算符,逻辑运算符,三元运算符的学习
算术运算符
- 算术运算符
主要是+ (加)、- (减)、* (乘)、/ (除)、% (取余)等简单运算,以下借用操作系统中的node环境进行直接输出举例。
文章图片
一元运算符
- 递增递减操作符
++ 表示每次递增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
。文章图片
逻辑运算符
- 逻辑非 ! / !!
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
- 逻辑与&&
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
推荐阅读
- Shell-Bash变量与运算符
- 事件代理
- 数组常用方法一
- JavaScript|vue 基于axios封装request接口请求——request.js文件
- JavaScript|JavaScript: BOM对象 和 DOM 对象的增删改查
- JavaScript|JavaScript — 初识数组、数组字面量和方法、forEach、数组的遍历
- JavaScript|JavaScript — call()和apply()、Date对象、Math、包装类、字符串的方法
- JavaScript|JavaScript之DOM增删改查(重点)
- 【读书笔记】JavaScript|【读书笔记】JavaScript DOM编程艺术 (第2版)
- JavaScript判断数组的方法总结与推荐