运算符
一。算数运算符
1.算数运算符;
- 运算中一个或二个是字符串,js会自动转换为数字,来盘算,末了效果是为NaN
任何一个和NaN盘算后都是效果都是NaN
布尔值false和true都邑转换为0和1来盘算
var num = 100;
var str1 = '爱新觉罗';
var str2 = '200';
var boo = true;
var result1 = num + 300;
console.log(result1);// 400
var result2 = str1 + 300;
console.log(result2);
console.log(typeof result2);// string
var result3 = str2 + 300;
console.log(result3);// 200300
// 如布尔范例举行加法盘算;将布尔范例转换为数字值,再举行加法盘算
var result4 = boo + 300;
console.log(result4);// 301
// 减法;先将其他范例转换为number范例,再举行盘算
var result5 = num - 100;
console.log(result5);// 0
// 如字符串举行减法盘算;则字符串范例转换为数字值,再举行减法
var result6 = str1 - 100;
console.log(result6);// NaN
var result7 = str2 - 100;
console.log(result7);// 100
// 假如布尔范例举行减法盘算;则布尔范例转换为数字值,再举行减法
var result8 = boo - 100;
console.log(result8);// -99
// 除法;一旦零是被除数;则无穷大
2.加法运算符;
- 如布尔范例举行加法盘算;将布尔范例转换为数字值,再举行加法盘算
var num = 100;
var str1 = '爱新觉罗';
var str2 = '200';
var boo = true;
var result1 = num + 300;
console.log(result1);// 400
var result2 = str1 + 300;
console.log(result2);
console.log(typeof result2);// string
var result3 = str2 + 300;
console.log(result3);// 200300
// 如布尔范例举行加法盘算;将布尔范例转换为数字值,再举行加法盘算
var result4 = boo + 300;
console.log(result4);// 301
3.减法运算符;
- 减法;先将其他范例转换为number范例,再举行盘算
var num = 100;
var str1 = '爱新觉罗';
var str2 = '200';
var boo = true;
var result5 = num - 100;
console.log(result5);// 0
// 如字符串举行减法盘算;则字符串范例转换为数字值,再举行减法
var result6 = str1 - 100;
console.log(result6);// NaN
var result7 = str2 - 100;
console.log(result7);// 100
// 假如布尔范例举行减法盘算;则布尔范例转换为数字值,再举行减法
var result8 = boo - 100;
console.log(result8);// -99
4.求余运算符;
- 用于盘算两个运算数整除后的余数
console.log(100 % 3);// 1
//求余运算符;猎取除法以后余数
console.log(8 % 4);// 0
console.log(100 % -3);// 1
//求余效果是正数照样负数,与第一操纵数是正数或负数有关(与第二个操纵数无关)
console.log(8 % -4);// 0
console.log(-100 % 3);// -1
console.log(-8 % 4);// 0
console.log(-100 % -3);// -1
console.log('爱新觉罗' % 2);// NaN
//与减法的状况保持一致
5.自增运算符;
- 前置自增运算符;++变量名先自增,再赋值;后置自增运算符;变量名++先赋值,再自增
var num = 10;
console.log(num);//10
var result = ++num;
console.log(result);//11
console.log(num);//11
var result = num++;
console.log(result);//10
console.log(num);//11
/*自增运算符;操纵变量的值
每自增一次(+1)
前置自增运算符;++变量名
先自增,再赋值
后置自增运算符;变量名++
先赋值,再自增
*/
二。比较运算符
1.比较运算符;
- 搜检两个运算数的值是不是相称和大小
console.log(10 > 11);//false
console.log(11 > 10);//true
console.log(10 >= 10);//true
//number范例
console.log(true > false);//true
console.log(true > 0);//true
//boolean范例;将boolean范例转换为number范例
console.log('a'< 'b');//true
console.log('a'> 'A');//true
console.log('abc' > 'cba');//false
console.log('abc' > 'acd');//false
/*string范例;1英文;2中文
* */
console.log('我' > '你');//true
2.相称与不等;
- 以相称(==)和(!=)运算符只比较操纵数的值,不比较范例
console.log(10 == 10);// true
console.log(10 == 11);// false
// 1.number范例
console.log(true == true);// true
console.log(true == false);// false
// 2.boolean范例
console.log(true == 1);// true
console.log('a' == 'a');// true
console.log('a' == 'b');// false
// 3.string范例
console.log('100' == 100);// true
// 只比较值,而不比较范例
/*
相称比较运算符
* 与赋值运算符的区分
* 赋值运算符(=)
* 相称比较运算符(==)
不等比较运算符
* 标记是'!='
* 不是'<>'
*/
3.全等与不全等;
- 以相称(===)和(!==)运算符只比较操纵数的值,比较范例
console.log(10 === 10);// true
console.log('10' === 10);// false
console.log('10' == 10);// true
//全等和不全等;不仅比较值,比较范例
4.isNaN()函数;
- 用于推断参数是不是是NaN(不是数字值)
console.log(isNaN(100));
console.log(isNaN(Number('爱新觉罗')));
/*isNaN()函数
* 作用;推断值是不是为NaN
* true;示意值为NaN(不是个数值)
* false;示意值为NaN(不是个数值)
* */
var result = 100/0;
console.log(result);// Infinity
console.log(isFinite(result));// false
/*isFinite()函数
* 作用;推断值是不是无穷大
* false;示意值是无穷大
* true;示意值是有限数值
*/
三。逻辑运算符
1.逻辑运算符;
以&&逻辑与运算符假如两个运算符,都是true,则返回true
以||逻辑与运算符假如两个运算符,个中任何一个true,则返回true
2.逻辑与运算符
以&&逻辑与运算符假如两个运算符,都是true,则返回true
console.log(true && true);// true
console.log(true && false);// false
console.log(false && true);// false
console.log(false && false);// false
/*
将逻辑与运算符两个操纵数,转换为布尔范例
* 当左侧操纵数为true,效果为右侧操纵数的值
* 当左侧操纵数为false,效果为左侧操纵数的值
*/
console.log(100 && 1);// 1
console.log(1 && 0);// 0
console.log(0 && 1);// 0
console.log(0 && 0);// 0
console.log(true && true);
console.log(true && false);
console.log(false && true);
console.log(false && false);
console.log('爱新觉罗' && '爱新觉罗');// 爱新觉罗
console.log('爱新觉罗' && '');// ''
console.log('' && '爱新觉罗');// ''
console.log('' && '');// ''
console.log('爱新觉罗' && 1);// 1
console.log(false && 0);// false
3.逻辑或运算符;
- 以&&逻辑与运算符假如两个运算符,都是true,则返回true
console.log(true || true);// true
console.log(true || false);// true
console.log(false || true);// true
console.log(false || false);// false
/*
将逻辑与运算符两个操纵数,转换为布尔范例
* 当左侧操纵数为true时,效果为左侧操纵数的值
* 当左侧操纵数为false时,效果为右侧操纵数的值
*/
console.log(100 || 1);// 100
console.log(1 || 0);// 1
console.log(0 || 1);// 1
console.log(0 || 0);// 0
console.log(true || true);
console.log(true || false);
console.log(false || true);
console.log(false || false);
console.log('爱新觉罗' || '爱新觉罗');// 爱新觉罗
console.log('爱新觉罗' || '');// 爱新觉罗
console.log('' || '爱新觉罗');// 爱新觉罗
console.log('' || '');// ''
四。赋值运算符;
1.赋值扩大运算符;
- 就是赋值运算符和算数之间合营运用,也是一种简写情势
var b = 10, c = 20;
var a = b + c;
console.log(a);// 30
// b = b + c;
// 等价写法;赋值扩大运算符机能要比赋值运算符更高
b += c;
console.log(b);// 30
五。前提运算符;
1.前提运算符;
- 推断表达式是真和假,并推断效果实行个中2个赐与指令得一个
var result = 9 > 8 ? '对' : '错';
console.log(result);
var score = 90;
score < 95 ? console.log('优异') : console.log('合格');
2.前提运算符嵌套;
- 以每一个表达式能够中一个前提运算表达式
var score = 55;
/*长处,扩大了运算符自身的盘算才能
* 最多不要多过三层嵌套*/
var result = score > 90 ? '优异' : (score > 80 ? '优越' : (score > 60 ? '合格' : '不合格'));
console.log(result);