算数运算符
包含+、-、*、/、%,下面通过代码示例来给大家进行演示一下;
加法:
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);//太便宜了
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。