js运算符

三、运算符

运算符的概念

运算符也叫操作符,通过运算符可以对一个值或者多个值进行运算,并获取运算结 果,

常用于实现赋值、比较、执行算数运算符等功能的符号。

1、算数运算符

注意点:

1:当对非Number类型进行运算时,会将这些值转换为Number,然后再运算

2:任何值和NaN做运算,都是NaN

3:如果对两个字符串进行加法运算,则会做拼串,会将两个字符串拼接为一个字符串,并返回

+(加) -(减) * (乘) /(除)

%(取余):一个表达式的值除以另一个表达式的值,返回余数

加法

- 减法,可以对我们的两个值进行减法运算,并进行返回

当对非Number类型进行运算时,会将这些值转换为Number,然后再运算

* 乘法,可以对两个值进行乘法运算

/ 除法,可以对两个值进行除法运算

% 取模运算(取余数)

表达式与返回值

表达式:是由数字、运算符、变量等组成的式子

表达式最终都会有一个结果,返回给我们,我们称之为返回值

++ (自增)--(自减):不管++(- -)在前还是++(- -)在后都表示自身加(减)1,++(- -)在前表示先自身加(减)1,然后再进行运算,++(- -)在后表示先进行运算然后再自身加(减)1

2、一元运算符

正号  +

正号不会对数字产生任何影响

对一个其他的数据类型使用+,来将其转换为Number

负号  -

负号可以对数字进行负号的取反

对非Number类型的值,会先转换为Number,然后再运算

3、递增递减运算符

1、概念

反复给数字变量添加或者减去1,可以使用递增(++)和递减(--)运算符

2、种类

前置递增(递增)运算符 ++a --a

后置递增(递减)运算符 a++ a--

++ (自增)--(自减):不管++(- -)在前还是++(- -)在后都表示自身加(减)1,++(- -)在前表示先自身加(减)1,然后再进行运算,++(- -)在后表示先进行运算然后再自身加(减)1

var a = 10;
console.log(a++)  //10
var b = 10;
console.log(++b)  // 11

4、比较运算符

> < = != >=

符号

作用

用法

=

赋值

把右边给左边

==

判断

判断两边值是否相等(注意此时有隐式转换)

===

全等

值和数据类型 完全相等

5、逻辑运算符(&&与,||或,!非)

逻辑与&& 两侧都为true  结果才是true , 有一个false 结果就是false

逻辑或||   两侧都为false 结果才是false , 有一个true 结果就是true

逻辑非 !true = false  ; !false = true

!非运算  对一个布尔值进行取反操作

短路与(&&) 短路或(||)

短路运算的原理:当由多个表示式(值)时,左边的表达式值可以确定结果时, 就不再继续运算右边的表达式的值了,一定程度,提高代码效率

短路与(&&):找false , 如果第一个为false就不再运算后面的值,

如果第一个为true,则继续向后运算,直到找到false或者最后一个值

短路或(||):找true,如果第一个为true就不再运算后面的值,

如果第一个为false,则继续向后运算,直到找到true或者最后一个值

var res = 123 || null; // true  false

console.log(res); //123

console.log(num > 5 && str.length >= num);  //true

var flat = false;
 
console.log(!flar);  //true

6、赋值运算符

赋值运算符

说明

案例

=

直接赋值

var age = '18'

+= 、-=

加、减一个数 后再赋值

age+=5;

相等于 age = age + 5

*=、/=、%=

乘、除、取模 后再赋值

age*=5;

相等于 age = age * 5

7、关系运算符

> 大于号

>= 大于等于

< 小于

注意:对于非数值的情况

对于非数值的进行比较时,会将其转换为数字然后再比较

如果符号两侧的值,都是字符串时,不会将其转换为数字比较

而会分别比较字符串的Unicode编码,比较字符编码时,是一位一位进行比较,如果两位一样,则比较下一位

所以可以借用它来对英文进行排序,比较中文时没有意义,如果比较的两个字符串类型的数字,可能会得到不可预期的效果

注意:在比较两个字符串类型的数字时,一定一定要转型

8、相等运算符

==(值相等) !=(不相等) === (全等,值和类型都相等) !==(不全等)

特殊情况:

1、underfined 衍生自null,所以这两个值做相等判断时,会返回true

2、NaN不和如何值相等,包括他本身

9、三元运算符(条件运算符)

表达式: 条件表达式?语句1:语句2;

运算规则:先算条件表达式,若条件表达式为真则执行语句1,并返回执行结果。如果条件表达式为假false,则执行语句2,并返回执行结果。如果条件表达式的值是非布尔值则会转换成布尔值。

var a = 60,
    b = 80;
a > b ? alert("111") : alert("222");  // 结果是222

10、运算符的优先级

优先级表不用记,如果遇到优先级问题,可以用()来改变优先级

  • 6
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值