javaScript运算符

运算符和表达式:

算数运算符号:
+(加法)
var a=10+6;
结果:16
两个数字类型相加,得到一个数字类型。
一个数字类型和一个字符串类型相加,得到一个字符串类型。

-(减法)
var a=10-6;
结果:4
两个数字类型相减,得到一个数字类型。
一个数字类型和一个数字字符串相减,结果是一个数字,得到一个数字类型。
一个数字类型和一个非数字的字符串相减,得到结果nan的数字类型。
nan:非数字。

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

/(除法)
var a=10/6;
结果:1.67
两个数字类型相除,得到一个数字类型。
一个数字类型和一个数字字符串相除,结果是一个数字,得到一个数字类型。
一个数字类型和一个非数字的字符串相除,得到结果nan的数字类型。
0作为除数 结果Infinity(无限大),得到一个数字类型。


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

++(自加)

++i(参与运算的时候,先自加,自加之后的结果在赋值)

i++(参与运算的时候,先赋值,赋值之后再自加)

var a=1;
a++;
结果:2

--(自减)

--i(参与运算的时候,先自加,自加之后的结果在赋值)

i--(参与运算的时候,先赋值,赋值之后再自加)
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

练习:



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值