javaScript运算符

运算符和表达式:

算数运算符号:
+(加法)
var a=10+6;
结果:16

-(减法)
var a=10-6;
结果:4

*(乘法)
var a=10*6;
结果:60

/(除法)
var a=10/6;
结果:1.67

%(取余,浮点数不会转成整数四舍五入取余,php里浮点数会转成整数在取余)
取余结果的正负号只跟除数有关。
用于被整除的时候,还用于求一段范围
var a=10%6;
结果:4

++(自加)
var a=1;
a++;
结果:2

--(自减)
var a=2;
a--;
结果:1

赋值运算符号:
=(赋值)
var a=6;
结果:6

+=(加法运算完在赋值)
var a=1;
var a+=a;
结果:a=a+a    2

-=(减法运算完在赋值)
var a=1;
var a-=a;
结果:a=a-a    0

*=(乘法运算完在赋值)
var a=1;
var a*=a;
结果:a=a*a    1

/=(除法运算完在赋值)
var a=1;
var a/=a;
结果:a=a/a    1

%=(求得余数在赋值)
var a=1;
var a%=a;
结果:a=a%a    0

条件运算符号:
>(大于)
var a=1;
var b=2;
var c=a>b;
结果:false

<(小于)
var a=1;
var b=2;
var c=a<b;
结果:true

==(等于)
var a=1;
var b=2;
var c=a==b;
结果:false

!=(不等于)
var a=1;
var b=2;
var c=a!=b;
结果:true

>=(大于等于)
var a=1;
var b=2;
b>=a;
结果:true

<=(小于等于)
var a=1;
var b=2;
b<=a;
结果:false

===(不管值还是类型全部一致)
var a=1;
var b="1";
b==a;
结果:false

!==(不管值还是类型全部不一致)
var a=1;
var b="2";
b!==a;
结果:true

逻辑运算符号:
&&(与,一假全假)
var a=0;
var b=(a>0&&a==0);
结果:false;

||(或,一真全真)
var a=0;
var b=(a>0||a==0);
结果:true;
易发生短路:
var a=10;
if(a>=10||a++>10)
{
alter(a)
结果:10
}

^(异或,按位异或,相同为0,不同为1)
var a1 = 0x01; //0000 0001
var a2 = 0x00; //0000 0000
var b=a1^a2;
结果:00000001

!(非)
如果一个操作数是一个对象,返回true;
如果一个操作数是一个空字符串,返回false;
如果一个操作数是一个非空字符串,返回false;
如果一个操作数是一个数值0,返回false;
如果一个操作数是任意的非零字符,返回true;
如果一个操作数是null,返回false;
如果一个操作数是NaN,返回false;
如果一个操作数是undefined,返回true;

位运算符号:
>>(右移,将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补0)
0000 0001
结果:0000 0000

>>>(无符号右移,无符号一直补0)
0000 0001
结果:0000 0000

<<(左移,用来将一个数的各二进制位全部左移N位,右补0)
0000 0001
结果:0000 0010

&(按位与,每一位二进制比较,两个都为1,结果才能是1)
1111&0110
结果:0110

|(按位或,每一位二进制比较,其中有一个为1,结果就是1)
1111|0110
结果:1111

~(按位取反)
10—>0000000000000000001010
结果:1111111111111111110101    -11


其他运算符号:
条件?表达式1:表达式2(条件运算符)
条件为真执行表达式1,条件为假,执行表达式2
设var a=2,b=3; 则a++==b?(a-1):b的结果是
结果:3

猜你喜欢

转载自blog.csdn.net/abenazhan/article/details/77116035