JS-运算符

2018-05-30  本文已影响0人  ThiagoChang

操作运算符

1.+

 var a = 1 + "a" +1 + 1;
 document.write(a)

输出为:1a11

 var a = 1 + 1 + "a" +1;
 document.write(a)

输出为:2a1

运算会自左向右进行;
任何类型的数据+字符串都会等于一个字符串.

  1. %
 var num = 1 % 5;
 document.write(num)

输出为: 1
1里面有0个5 ,因此商=0,余下了1。


 var num = 4 % 5;
 document.write(num)

输出为: 4
4里面有0个5 ,因此商=0,余下了4。


 var num = 0 % 5;
 document.write(num)

输出为: 0。
0 % 任何数都得0。

 var a = 1;
 var b = a -- + -- a;
 document.write(b)

输出为:0
原理:--a使得a变为0(第二行的两个a都变为0);0+0=0。

比较运算符

 var a = 1 > 2;
 document.write(a)

输出为:false

 var b = 1 == 1;
 document.write(b)

输出为true

 var a = NaN == NaN;
 document.write(a)

输出为false

 var b = 1 !=2;
 document.write(b)

!=的含义为:是否不等于

输出为true

逻辑运算符

1.与运算符 &&:一定会返回结果

以下6个值转化为布尔值为false:
undefined,false,null,NaN," "(空字符串),0。

在与运算中:如果只有两个表达式,且如果第一个表达式的布尔值为true,那么就直接返回第二个表达式的值;如果第一个表达式的布尔值为false,那么直接返回第一个表达式的值。

 var c = 1 && 2;
 document.write(c)

返回2

 var d = 0 && 2;
 document.write(d)

返回0

在与运算中:如果有多个表达式,那么会从左往右依次看表达式的布尔值,若一直为true则一直向前走,返回最后一个值;如果遇到false,则返回false位置的表达式的值

 var e = 1 && 1 && 2:
 document.write(e)

返回2

 var f = 1 && 0 && 2;
 document.write(f)

返回0

&&有中断作用,因此可以用作短路语句(可以像if一样拿来作条件):

 2 > 1 && document.write('I am handsome')
 var = rear-end-data;
 rear-end-data && 一个会用到rear-end-data的语句

以上是短路语句的用法:先判断&&之前的东西的真假(是否为空值),如果&&前的东西有意义,才会进行&&后的操作

2.或运算符||
 var a = 1 || 3;
 document.write(a)

返回1

 var b = 0 || 3;
 document.write(b)

返回3

 var c = 0 || false || 3;
 document.write(c)

返回3

与运算:第一个表达式的布尔值为true,则返回第一个表达式的值;第一个不为true,则向后看,碰到true就停 ;如果所有表达式的布尔值全为false,则返回最后一个表达式的值。

3.非运算符! :把表达式转换成布尔值再取反
 var a = ! 123;
 document.write(a)

返回false

 var b = !!123;
 document.write(b)

返回true

!!的作用是:取布尔值

上一篇下一篇

猜你喜欢

热点阅读