JavaScript 运算符

JavaScript 运算符

算数运算符

描述

y赋值

表达式运算

x 结果

+

加法

y=1

x=y+2

3

-

减法

y=2

x=y-2

0

*

乘法

y=3

x=y*2

6

/

除法

y=4

x=y/2

2

%

取模(余数)

y=5

x=y%2

1

++

自增

y=6

x=++y

7

y=7

x=y++

7

--

自减

y=8

x=--y

7

y=9

x=y--

9

赋值运算符

描述

x赋值

表达式运算

等同于

x 结果

=

等于

x=1

x=y

(y默认值为0)

x=1

+=

加等于

x=2

x+=y

x=x+y

x=2

-=

减等于

x=3

x-=y

x=x-y

x=3

*=

乘等于

x=4

x*=y

x=x*y

x=0

/=

除等于

x=5

x/=y

x=x/y

x=Infinity

%=

取余等于

x=6

x%=y

x=x%y

x=NaN

比较运算符

描述

x赋值

比较

返回值

==

等于

x=5

x==8

false

x==5

true

===

绝对等于(值和类型均相等)

x==="5"

false

x===5

true

!=

 不等于

x!=8

true

!==

 不绝对等于(值和类型有一个不相等,或两个都不相等)

x!=="5"

true

x!==5

false

>

 大于

x>8

false

 小于

x

true

>=

 大于或等于

x>=8

false

 小于或等于

x

true

逻辑运算符

描述

例子

&&

and(与)

(x < 10 && y > 1) 为 true

||

or(或)

(x==5 || y==5) 为 false

!

not(非)

!(x==y) 为 true

JavaScript 运算符
  1. 运算符也被称为操作符,是用于实现赋值、比较和执行算数运算等功能的符号。
  2. 表达式是由数字、运算符、变量等组成的式子,表达式最终都会有一个返回值返回给我们。
算数运算符
  1. 用于执行两个变量或值的算术运算。
  2. 浮点数精度:进行算术计算时其精确度远远不如整数,所以,不要直接判断两个浮点数是否相等!

代码示例:

<script> //“+”作用:数学运算、字符串链接。任何数据类型加字符串都等于字符串。 var a = "a" + true + 1; console.log(a); //打印出来是 atrue1 var a = 1 + "a" + 1 + 1; console.log(a); //打印出来是 1a11 var a = 1 + 1 + "a" + 1 + 1; console.log(a); //打印出来是 2a11(从左向右运算) var a = 1 + 1 + "a" + (1 + 2); console.log(a); //打印出来是 2a3 var a = 0 - 1; console.log(a); //打印出来是 -1 var a = 2 * 1; console.log(a); //打印出来是 2 var a = 0 / 0; console.log(a); //打印出来是 NaN //应该得出一个数字类型的数,但是没法表达,就用 NaN (NaN 是 Not a Number 非数,不是数,但是是数字类型。 var a = 1 / 0; console.log(a); //打印出来是 infinity var a = -1 / 0; console.log(a); //打印出来是 -infinity var a = 5 % 2; console.log(a); //打印出来是 1 //5%2 是五除二的余数,商二余一 var a = 5 % 1; console.log(a); //打印出来是 0 //是五除一的余数,结果是 0 var num = 1 % 5; console.log(a); //打印出来是 1 //意思是 1 除以 5 的余数。商 0 余 1 var a = 4 % 6; console.log(a); //打印出来是4 //是四除六的余数,结果是 4 var a = 10; a %= 2; console.log(a); //打印出来是 0 var a = 4; a %= 5; console.log(a); //打印出来是 4 var a = 0; a %= 5; console.log(a); //打印出来是 0 </script>

运行结果:

递增和递减算数运算符

代码示例:

<script> var a = 2; var b; b = a++; console.log(a, b);//打印出来是 3 2 var a = 2; var b; b = a--; console.log(a, b);//打印出来是 1 2 var a = 2; var b; b = ++a; console.log(a, b);//打印出来是 3 3 var a = 2; var b; b = --a; console.log(a, b);//打印出来是 1 1 var a = 12; var b; b =a++ + ++a + a-- + --a - a++ - ++a - a-- - --a; //a= 12(初始值) 13(运算后的值) 14(b赋值给a) 13(运算后的值) 12(b赋值给a) 13(运算后的值) 14(b赋值给a) 13(运算后的值) 12(b赋值给a) //b= 12(a赋值给b) + 14(运算后的值)+ 14(a赋值给b)+ 12(运算后的值)- 12(a赋值给b)- 14(运算后的值)- 14(a赋值给b)- 12(运算后的值) console.log(a, b);//打印出来是 12 0 </script>

运行结果:

代码示例:

<script> var a = 10; a = a + 1; document.write(a+'<br>'); //页面显示: 11 //var a = 1; //a = a + 1;写成 a ++是一种简化形式“++”,是自身加一,再赋值给自身 //a++是 a=a+1 的简化形式 var a = 10; document.write(++a+','); document.write(a+'<br>'); //页面显示: 11;11 //是先执行++,再执行本条语句 document.write(++a) var a = 1; document.write(a+++','); document.write(a+'<br>'); //页面显示: 1;2 //是先执行语句(document.write(a)),再++,所以第一次打印的还是 a,第二次打印 a++后的值 var a = 10;var b = ++a - 1 + a++;document.write(b+',',a+'<br>') //页面显示: 21 12 //先++a,这个时候 a=11,再-1,再加 a,b 就是 21,最后++,a 就是 12赋值的顺序自右向左,计算的顺序自左向右(按数学来) var a = 1; var b = a++ + 1; document.write(b+'<br>'); //页面显示: 2,先执行 var b =a+1, 再 a++ var a = 1; var b = a++ + 1; document.write(a+','); document.write(b+'<br>'); //页面显示: 2,2 var a = 1; var b = ++a + 1; document.write(a+','); document.write(b+'<br>'); //页面显示: 2,3 var i = 1; var a = i++; document.write(i+'<br>');//页面显示: a = 1; 此时 i 先将值 1 赋给 a,然后自己+1,i=2; var b = ++i;document.write(b+',');document.write(i+'<br>');//页面显示: b = 3;此时 i 先自己+1 为 3.再给 b 赋值,b=3; </script>

运行结果:

赋值运算符

赋值运算符用于给 JavaScript 变量赋值。

代码示例:

<script> var a = 10; a += 10 + 1; console.log(a); //打印出来是 21 //var a =10;a ++;a ++;a ++;加十个 //简化写法:a +=10;也是 a = a+10; var a = 10; a /= 2; console.log(a); //打印出来是 5,是除二赋给自身的意思 var a = 10; a *= 2; console.log(a); //打印出来是 20,是乘二赋给自身的意思 var a = 10; a %= 2; console.log(a); //打印出来是 0, 10 能整除 2,余数是 0,取余,余数赋给自身。 var a = 3; a %= 4; console.log(a); //打印出来是 3,3 除以 4,余数为 3,余数赋给自身。 var a = 0; a %= 4; console.log(a); //打印出来是 0,0 除以 4,余数为 0,余数赋给自身。 var a = 1; a %= 10; console.log(a); //打印出来是 1,1 除以 10,余数为 1,余数赋给自身。 </script>

运行结果:

比较运算符
  1. 比较运算符在逻辑语句中使用,以测定变量或值是否相等。
  2. 注:“>”,”=”,“
  3. 但凡是运算符,都是要有运算的。
  4. 用到布尔值,true 或 false。
  5. 字符串的比较,比的是 ASCII 码(七位二进制 0000000)。

代码示例:

<script> var a = "a" > "b"; console.log(a); //打印出来是 false var a = 1 > 2; console.log(a); //打印出来是 false var a = 1 < 2; console.log(a); //打印出来是 true var a = "1" > "8"; console.log(a); //打印出来是 false var a = "10" > "8"; console.log(a); //打印出来是 false,不是10和8比,是字符串一零和八比,先用开头的一和八比,比不过就不看第二位了;一样的就拿零和八比 var a = 1 == 2; console.log(a); //打印出来是 1 等不等于 2,因为 1 肯定不等于 2,所以值false console.log((a = undefined == undefined)); //打印出来是 true console.log((a = NaN == NaN)); //打印出来是 false。NaN 不等于任何东西,包括他自己非数。 //NaN 得不出数,又是数字类型,就是 NaN //>= , <= , !=(是否不等于,非等) //比较结果为 boolean 值:true 和 false console.log((a = infinity == infinity)); //报错。 </script>

运行结果:

逻辑运算符

  1. “&&”,“||”,“!“运算结果为真实的值。
  2. &&运算符
  3. 如果&&运算符是两个表达式:先看第一个表达式转换成布尔值的结果是否为真,如果结果为真,那么它会看第二个表达式转换为布尔值的结果,然后如果只有两个表达式的话,只看到第二个表达式,就可以返回该表达式的值了,如果第一位布尔值为false,不看后面的,返回第一个表达式的值就可以了。
  4. 如果&&运算符是三个或多个表达式,会先看第一个表达式是否为真,如果为真,就看第二个表达式,如果第二个也为真,就看第三个表达式(如果为真就往后看,一旦遇到假就返回到假的值),如果第三个是最后一个表达式,那就直接返回第三个的结果如果第一个是假,就返回第一个值,当是真的时候就往后走,一旦遇到假,就返回。
  5. &&与运算符是有中断作用的,当短路语句使用(如果。。那么。。)

代码示例:

<script> var a = 1 && 2; console.log(a); //打印出来是 2,如果第一位 1 为真,结果就为第二位的值 2 var a = 1 && 2 + 2; console.log(a); //打印出来是 4,如果 1 为真,结果就为 4 var a = 0 && 2 + 2; console.log(a); //打印出来是 0 var a = 1 && 1 && 8; console.log(a); //打印出来是 8,先看第一个是否为真,为真再看第二个,中途如果遇到 false,那就返回 false 的值 var a = 1 + 1 && 1 - 1; console.log(a); //打印出来是 0 </script>

运行结果:

  1. || 运算符
  2. 看第一个表达式是否为真,如果为真,则返回第一个值,碰到真就返回,如果第一个表达式是假,就看第二个表达式,如果第二个是最后一个,就返回第二个的值。
  3. 关注真假的说法:全假才为假,有一个真就为真。

代码示例:

<script> var num = 1 || 3; console.log(num); //打印出来是 1 var num = 0 || 3; console.log(num); //打印出来是 3 var num = 0 || false; console.log(num); //打印出来是 false </script>

运行结果:

  1. !非运算符,否的意思。
  2. 先转成布尔值,再取反。
  3. != (非等于)是表达他们到底等不等的。
  4. 转换为布尔值会被认为false的值有 undefined、null、false、""、NaN、0。

代码示例:

<script> console.log(a = ! 123);//打印出来是 false。123 的布尔值是 true,取反是 false console.log(a = ! ''); //打印出来是 true。空串””布尔值是 false,取反是 true console.log(a = ! !''); //打印出来是 false,取反后,再反过来,结果不变。 var a = true; console.log(a =!a); //打印出来是 false,自身取反,再赋值给自身。 </script>

运行结果:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值