• JavaScript(四)操作符


     

    6种表达式

      原始表达是   初始化表达式  函数定义表达式  

      函数调用表达式  属性访问表达式  对象创建表达式

    操作符

      操作符的优先级

        属性访问[] .  >  一元操作符 >  */ >  +- > 比较 > 相等  > &&  > || >  ?:;>,

      操作符的结合性

        右结合: 一元操作符、三目操作符、赋值

            (当两个一元操作符同时存在的时候 从右向左计算)

        左结合:其他的  默认的都是左结合

      

      一元操作符  +  -  ++  --  !

        一元加 +   不会对数值产生任何影响 只隐式调用 Number

    var a = -123;
    console.log(+a)
    //-123

        特别的对对像使用一元加的时候  需要先调用 valueOf  或   toSrring

        一元减 - 与一元加类似   调用Number 之后  取相反数

    位操作符

      ~  按位非  取负值后减一

      >>  右移  m>>n  将m转化成二进制 然后 向右移n位

      <<  左移  m<<n  将m转化成二进制 然后 向左移n位

    布尔操作符  &&   ||   !

      && 常被用于判断   

      || 常备用于负值 也可以用于判断

    小题

    1.

    var a = 1;
    b = a + ++a;
    c = a ++ + ++ a ;
    //b=3
    //c=6
    2.
    x=a?b:c?d:e?f:g; //x=(a?b:(c?d:(e?f:g))) 右结合

    3.

    a = -1;
    b = +a;
    alert(b);
    //-1

    4.

    0 === -0;
    //true

    乘性操作符  *   /  %

      *

        infinity*0  ->  NaN;

      /

        infinity/infinity ->   NaN;

        0/[num]   ->  NaN

    加减操作符

     +

      infinity+ -infinity  -> NaN

      +undefined    ->   NaN

      + null      -> 0

     -

      infinity-infinity       -> NaN

      -infinity - -infinity  ->   NaN

    关系操作符  >   <   >=   <= 

      也可以比较字符串     非数字 默认比较字符串第一位的  Ascii码

      可以转化成 number 类型的  就转化成数字进行比较

    小题

    7>6>5
    //false  这里 关系运算符是 左结合的    true>5    -> fase

    相等操作符

      null == undefined   true

      NaN != NaN      true

      undefined == 0    false

      null == 0       false

      相等操作符 里面 可能是  内定了   null == undefined  而且   null 和 undefined 在比较的时候    不进行转换    NaN  不等于任何

    赋值操作符 =

      右结合  除了 ,  之外  优先级最低

    逗号操作符

      常用语赋值语句中   赋值多个

  • 相关阅读:
    代码阅读:结构与逻辑
    ReactiveCocoa 中 RACSignal 所有变换操作底层实现分析(上)
    大白话讲解Promise(一)
    ReactiveCocoa 中 RACSignal 是如何发送信号的
    The Future Of ReactiveCocoa by Justin Spahr-Summers
    reactive programming
    【转】iOS中流(Stream)的使用
    NSStream 流式思想
    Future模式 总结
    备忘
  • 原文地址:https://www.cnblogs.com/96weibin/p/7998447.html
Copyright © 2020-2023  润新知