javascript复习第二天——运算符

67 篇文章 0 订阅
49 篇文章 0 订阅

js02

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

typeof也是运算符,可以用来获得一个值的类型,返回的是一个字符串

算数运算符

需要两个运算符

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

任何值和NaN运算都得NaN

+:可以对两个值进行加法运算,并将结果返回
//true转成Number类型为1,false转成Number类型为0
true+1=2
true+false=1

1.如果对两个字符串进行加法运算,则会做拼串,会将两个字符串拼成一个字符串,并返回

2.任何的值和字符串做加法运算,都会先转换成字符串,然后再和字符串做拼接的操作

3.任何值和字符串相加都会转换成字符串,并做拼串操作。我们可以利用这一特点,来将一个任意的数据类型转换成String,我们只需要为任意的数据类型+一个“ ”即可将其转换为String

这是一种隐式的类型转换,由浏览器自动完成,实际上他也是调用了String

除了加法运算是有字符串时,先转换成字符串类型再进行运算,其余运算都是先自动转换number再进行运算

-:可以对两个值进行减法运算,并将结果返回

会将非Number类型的数据转为Number类型后,再进行运算

*:可以对两个值进行乘法运算
/:可以对两个值进行除法运算

任何值做-,*,/,运算时,都会自动转换为Number,我们可以利用这一特点做隐式的类型转换,可以通过为一个值-0,*1,/1来将其转换为Number,原理和Number()使用起来比较简单但是这个方式没有使用+号来的方便

%:可以对两个值进行取余(模)运算

一元运算符

只需要一个操作符

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

-:负号,对数字进行负号的取反

对于非Number类型的值,它会先转换为Number,然后再进行运算,可以对非Number类型的数据使用+号,来将其转换成Number类型,他的原理和Number()一样

自增和自减

自增(++):通过自增可以是变量再自身的基础上增加1,一个变量自增之后,原变量的值会立即自增1

自增分成两种:后++(a++)和前++(++a),两者都会立即使原变量的值自增1

var a= 1;
//b为a自增前的值,使用的是变量的原始值
//b=a++;  //b=1,a=2
//c为a自增后的值,使用的是变量自增后的值
c=++a;  //c=3,a=3
自减(–):通过自减可以是变量在自身的基础上减1,变量在自减之后都会使原变量的值自减1

自减分为两种:后–(a–)和前–(--a),意思跟自增一样

逻辑运算符

与(&&):可以对符号两侧的布尔值进行与运算并返回结果

两端的值只要有一个为false,就会返回false,只有两端的值都为true时,才会返回true

js中的“与”属于短路中的与,如果第一个值为false了,就不用继续看第二个值。第一个值为true时,会继续看第二个值

或(||):可以对符号两侧的值进行或运算并返回结果

两端都为false时,才会返回false;只要有一个true,就会返回true

js中的“或”属于短路的或,如果第一个值为true,就不会继续看第二个值

非(!):对一个布尔值进行非取反运算。

1.!true为false,!false为true。

2.对一个值进行两次取反,它不会改变

3.如果对非布尔值进行取反,会先将其转换成布尔值,然后再取反。所以可以利用这一点,可以将其他的数据类型转为布尔值。可以为一个任意数据类型取两次反,来将其转换成布尔值,原理和Boolean()一样

&&、||非布尔值的情况

对于非布尔值进行与或运算时,会先将其转换为布尔值,然后再运算,并且返回原值

与(&&):如果两个值都为true,则返回后边的值;

如果第一个值为true,则必然返回第二个值(不论是true还是false),如果第一个值为false,则直接返回第一个值

||(或):如果第一个值为true,则直接返回第一个值,如果第一个值为false,则直接返回第二个值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值