【JavaScript】中心语法之运算符

运算符
一。算数运算符
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);
    原文作者:佐珥玎
    原文地址: https://segmentfault.com/a/1190000015924933
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞