操作符和位运算符

学习内容:

一、操作符
    1.算数运算符
        +   -   *   /   %(取余,取模)
        ++     --
        a=a+1   a++
        a=a-1   a--
    a++ 先运算,后加减

    ++a 先加减,后运算

    2.赋值运算符
        +=  -=  *=  /=  %=
        a=1
        a=a+3---> a+=3

       例: a=12
                b=11
                console.log(c=a*=b+5)              //192
                console.log(c=a/=b+3*(b+=4) )      //0.21428571428571427
                console.log(c=a++ -4*b--)          //-32
                console.log(c=b-- + a++*(a-=3 + ++b))  //-1

    3.关系运算符
        >   <   ==  ===(恒等于) >=  <=  !=

        a=2         //数值型
        b="2"       //字符型
        console.log(a==b)   //true
        console.log(a===b)  //false

        ==代表相同,先检查两个操作数的数据类型,
                如果发现不同可进行类型转换,再进行值的比较
                如果相同则调用===来进行比较
                console.log(null==undefined)    //true

        ===代表严格相同:如果类型不同,直接判断不同
                如果类型不同就一定不相等
                console.log(null===undefined)    //false

    4.逻辑运算符
        &&:都为真才为真
        短路运算符--js依次获取每个操作数,将它们转换为布尔型变量,如果是false,则中断后面的处理,返回当前操作值,如返回的是true,就继续处理下一个操作值,返回最后操作数的值

            a=10
            b=20
            if(a>10 && b>20){
                console.log("y")
            }else{
                console.log("n")
            }

        ||:一个为真即为真

        !:真变假,假变真

二、位运算符
&   与      都为1,结果为1
|   或      只要有1,结果为1 
^   异或    相同为0,不同为1
~   非      0变1,1变0     先取反,减1,再取反,再变负号
    ~正数  ~n=-(n+1)
    ~负数  ~(-n)=|n|-1 
>>  右移    有符号右移
>>> 右移    无符号右移
<<  左移    向左移动?位

**js数值类型用64位表示
32位:最高位为符号位(判断正负)

例:18  --10010
0000 0000 0000 0000 0000 0000 0001 0010

-18  --10010
1111 1111 1111 1111 1111 1111 1110 1101  取反
1111 1111 1111 1111 1111 1111 1110 1110  加1

~18     得-19
0000 0000 0000 0000 0000 0000 0001 0010
1111 1111 1111 1111 1111 1111 1110 1101  ~后
1111 1111 1111 1111 1111 1111 1110 1100  -1
0000 0000 0000 0000 0000 0000 0001 0011 取反 19 后加负号 -19

二、三目(三元)运算符   ?:
a=10                    转换:  a>0? alert("yes"):alert("no")
if(a>0){
    alert("yes")
}else{
    alert("no")
}
 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值