JavaScript运算符和表达式

JavaScript运算符和表达式

1.算术运算符

运算符运算规则范例结果
+加法2+35
+连接字符串‘中’+‘国’‘中国’
-减法2-3-1
*乘法2*36
/除法5/22.5
%取余数5%21
**幂(es7)2**38

JS里面的算数运算规则:

  • 任意数据类型和字符串进行加法运算,都是字符串的拼接
  • 任意数据类型和NaN进行四则运算,结果都是NaN
  • 当true和false参与运算,true转换为1,false转换为0
  • 除+运算外,数值类型字符串参与运算,都转换为数值;但是非数值类型字符参与运算,结果都是NaN
  • 除+运算外,空字符串转换为0,null转换为0
  • 0可以作为除数,得到结果都是无穷大
  • 0参与取余运算,得到结果都是NaN

2.一元运算符

递增运算符:

  • 前置递增运算符
  • ++num 前置递增,就是自加1,类似于 num = num + 1,但是 ++num 写起来更简单。
  • num++ 后置递增,就是自加1,类似于 num = num + 1,但是 num++ 写起来更简单。
  • 使用口诀:++在前,整体是一个新值,++在后,整体是一人旧值

例:

前置++

var n1 = 2;
++ n1;//n1 = 3

var n2 = 4;     //n1 = 3 + ++n2=1+4=5
console.log(n1 + ++n2);//8

后置++

var n1 = 2;
n1++;//n1 = 3

var n2 = 4;     //n1 = 3 + n2 = 4 
console.log(n1 + n2++);//6

思考:

var a = 1; var b = ++a + ++a; console.log(b);//5
var a = 1; var b = a++ + ++a; console.log(b);//4
var a = 1; var b = a++ + a++; console.log(b);//3
var a = 1; var b = ++a + a++; console.log(b);//4

🚨前置和后置的区别:

在没有赋值操作,前置和后置是一样的。但在赋值操作时,如果递增或递减运算符前置,那么前置 的运算符会先累加或累减再赋值,如果是后置运算符则先赋值再累加或累减。运算的时候也是一样;

3.赋值运算符

定义:用来把数据赋值给变量的运算符

=也是一个运算符,被称为赋值(assignments)运算符。

运算符运算规则范例结果
=赋值a=55
+=加后赋值a=5,a+=27
-=减后赋值a=5,a-=23
*=乘后赋值a=5,a*=210
/=除后赋值a=5,a/=22.5
%=取模(余数)后赋值a=5,a%=21
**=幂后赋值a=5,a**=225

4.关系运算符(比较运算符)

运算符运算规则范例结果
==相等4==3false
!=不等于4!=3true
>小于4>3true
<大于4<3false
>=小于等于4<=3false
<=大于等于4>=3true

比较原则:

1.数值字符串和数值,字符串会自动转为数值比较

2.两个字符串,比较首个数字大小

3.布尔值的false和true会转换成0和1

4.两个数值,则数值比较

5.两个都是字符串,则比较两个字符串对应的字符编码值。(字符转ascii码:用charCodeAt();)

在相等和不等的比较上,如果操作数是非数值,则遵循以下规则:

1.一个布尔值,比较之前将其转换为数值,false转0,true转1

2.一个字符串,比较前将其转换为数值在比较

3.不需要转换下,null和undefined相等

4.如果是NaN,则==返回false,!=返回true;并且NaN和自身不相等

5.全等和不全等,比如值和类型都相等,返回true,否则返回falsee

5.逻辑运算符

逻辑运算符通常用于布尔值的操作,一般和关系运算符配合使用,有三个逻辑运算符:

逻辑与(AND)、逻辑或(OR)、逻辑非(NOT)。

运算符运算规则范例结果
&&与:同时为真false&&truefalse
||或:一个为真false or truetrue
非:取反!falsetrue

6.三目运算符

三目运算符,又叫三元条件运算符

语法如下:条件表达式?语句1:语句2

参数说明:

  1. 条件表达式,结果会被作为布尔值处理
  2. 语句1:如果条件表达式返回true则执行
  3. 语句2:如果条件表达式返回false则执行
var num = 6 > 4? '对' : '错';
//对返回true,则把‘对’赋值给box,反之,把错给box

// 判断一个年龄是否成年, 当年龄超过18 返回 成年 否则返回未成年
var age = 19;
// console.log( age >= 18 ? '成年' : '未成年' );

7.运算符优先级

运算符优先级描述了在计算表达式时执行运算 的顺序。先执行具有较高优先级的运算,然后执行较低优 先级的运算。例如,先执行相乘,再执行相加。 运算符比较多,可以合理使用()来改变表达式的优先级。 ()的用法和数学中的()用法相同,()内的会优先计算。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值