浅谈javaScript各大运算符

算数运算符

包含+、-、*、/、%,下面通过代码示例来给大家进行演示一下;
加法:

var num=100;
var str1='大前端';
var str2='300';
var boo=true;
console.log(num+str1);//100
console.log(num+str2);//100300
console.log(num+boo);//101
console.log(str2+boo);//300true

字符串作为加法运算会默认为字符串拼接,但是数字类型与布尔类型做加法运算,布尔类型会自己先转换为数字,再进行算数运算。

减法:

var num=100;
var str1='大前端';
var str2='300';
var boo=true;
console.log(num-str1);//NaN
console.log(num-str2);//-200
console.log(num-boo);//99
console.log(str2-boo);//299

数字类型与字符串做减法运算,这时候字符换会转换为数字类型,再做算数运算,如果字符串类型的内容包含文字或英文,那么得到的结果将是NaN,NaN不管与什么做算术运算都是NaN,数字类型与布尔类型做减法算术运算,同样布尔类型也会自动转换为数字类型在进行算术运算。

乘法:

var num=100;
var str1='大前端';
var str2='300';
var boo=true;
console.log(num*str1);//NaN
console.log(num*str2);//30000
console.log(num*boo);//100
console.log(str2*boo);//300

数字类型与字符串乘法运算,会将字符串先转换为数字类型再做算术运算,如果数字类型与布尔类型做运算,那么布尔值同样也会先转换为数字类型才进行算术运算,但是遇到字符串里包含有英文或者中文将会得到结果NaN。

除法:

var num=100;
var str1='大前端';
var str2='300';
var boo=true;
console.log(num/str1);//NaN
console.log(num/str2);//0.3333333333333333
console.log(num/boo);//100
console.log(str2/boo);//300

数字类型与字符串除法运算,同样会先将字符串转为数字类型再做算术运算,同样与布尔类型做算术运算,也是先把布尔类型转换为数字类型再做算术运算,但是遇到字符串里包含有英文或者中文将会得到结果NaN。

模运算:

var num=100;
var str1='大前端';
var str2='300';
var boo=true;
console.log(num%str1);//NaN
console.log(num%str2);//100
console.log(num%boo);//0
console.log(str2%boo);//0请输入代码

数字类型与字符串做模运算,首先会把字符串类型转换为数字类型再进行算术运算,同样遇到布尔类型,会先把布尔类型转换为数字类型再做算数运算,如果字符串包含中文或者英文,会返回NaN。


自增运算符

前++ 变量名称:先自增再赋值

var n=10;
var res=++n;
console.log(res);//11
console.log(n);//11

后++ 变量名称:先赋值再自增

var n=10;
var res=n++;
console.log(res);//10
console.log(n);//11

比较运算符

包含:>、<、>=、<=、!=、!==、===、==

//number类型
console.log(10 > 11);// false
console.log(11 > 10);// true
//boolean类型,boolean类型转换为number类型
console.log(true > false);// true
console.log(true > 0);// true
/*string类型 - a.英文;b.中文
  英文或中文,将文本转换成 Unicode 码 - 对应具有数字值
  英文单词,从左至右的依次比较字母 Unicode 码的大小
  */
console.log('a' < 'b');// true
console.log('abc' > 'cba');// false
console.log('我' > '你');// true
//number类型
console.log(10 == 10);// true
console.log(10 == 11);// false
//boolean类型
console.log(true == true);// true
console.log(true == false);// false
//string类型
console.log('a' == 'a');// true
console.log('a' == 'b');// false
// 只比较值不比较类型
console.log('100' == 100);// true
/*相等比较运算符
  与赋值运算符的区别
  赋值运算符(=)
  相等比较运算符(==)
  不等比较运算符
  符号是"!="
  不是"<>"
*/
// 全等与不全等 - 不仅比较值,还比较类型
console.log(10 === 10);// true
console.log('10' === 10);// false
console.log('10' == 10);// true

比较运算符

逻辑与:&&

console.log(true && true);// true
console.log(true && false);// false
/*逻辑与运算,只要有一个为false,那么就为false,只有两个都为true,结果才为true
*/
console.log(100 && 1);// 1
console.log(1 && 0);// 0
console.log(true && true);
console.log(true && false);
console.log('' && '前端');// ''
console.log('' && '');// ''

逻辑或:||

console.log(false || true);// true
console.log(false || false);// false
/*
    逻辑或,只要有一个为true,就为true
 */
console.log(100 || 1);// 100
console.log(1 || 0);// 1
console.log(true || true);
console.log(true || false);
console.log('' || '前端');// 前端
console.log('' || '');// ''

条件运算符
var total = 30 > 20 ? '贵了' : '便宜';
console.log(total);//贵了

var total = 95;
score > 90 ? console.log('太贵了') : console.log('便宜了');

嵌套条件运算符

var total = 55;
/*嵌套条件运算符
  优点:扩展了条件运算符本身的计算能力
  缺点:可读性比较差,性能随着嵌套的层级越多越差
  最多不要超过三层嵌套
*/
var result = total > 90 ? '太贵了' : (total > 80 ? '贵了' : (total > 60 ? '便宜' : '太便宜了'));
console.log(result);//太便宜了
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值