美文网首页Web前端之路Web 前端开发
菜鸟学习javascript26 运算符(1)

菜鸟学习javascript26 运算符(1)

作者: 熊孩子CEO | 来源:发表于2017-02-01 17:22 被阅读43次

    1 一元运算符

    (1)递增++和递减 - -

       var  box = 100;

             ++box             //box = box + 1 ;

              box++               //box= box +1 ;

    (2) 前置和后置的区别

          前置 运算先累加或者累减再赋值;

          后置  先赋值再累加或者累减

              var box = 100;

              var age = box++              //box = 100+1  赋值给age

              var  age = ++box             // age = box;然后box+1;

     (3)其他类型运用一元运算符

         字符串类型

       A:  var box = “89”;

                  box++                  // 对于数字字符串  有隐形的转换功能,自动转化成数字类型

      B:var box = “ab”;

                 box++                  // 字符串包含非数字值转换为NaN

         布尔类型

           var box =false;

                  box++                  //false转换成数值是0,累加1 结果为1;

          对象类型

            var box = {

                         toString:function(){ return}

                 };

             box++                  //结果为1  不执行toString()或者value() 方法为NaN

    (4)一元加减运算符

    1.用于类型转换

    2.用于算术运算

    3.加法用于取整,减法用于取负。

    var box = 1;

    -box ;

    +box;

    2.算术运算符

    ECMAscript定义了五个算术运算符,加(+)减(-)乘(*)除(/)求模(取余)。

    如果在算术运算的值不少数值,那么后台会自动调用number()函数将其转化成数值。

    (1) 加法

    a如果都是数值

    var  box = 1+2;                        //结果为3   

    var  box = 1+NaN                      //结果为NaN   只要一个数值是NaN 就为NaN

    var box = Infinity 加 Infinity          //结果为 Infinity

    var box = -Infinity 加 - Infinity    //结果为 -Infinity

    var box = Infinity 加 -Infinity      // 结果为 NaN  正无穷和负无穷为非负数

    var box = +0 加 +0 ;              //  结果为+0

    var box = -0 加 -0 ;              //  结果为-0

    var box = +0 加 -0 ;              //  结果为+0

    b如果一个操作数是字符串

    b1: 如果两个数都是字符串,则讲两个字符串拼接起来

    var  box = a + b ;              // 结果是ab

    b2:如果只有一个是字符串,则将不是的字符串变成字符串,再拼接起来

    var box = 7 + “9”;           // 结果是79

    c 如果操作数 是对象和布尔值

    调用他们的toString()获得相应的字符串值,再利用相关的字符串值

    D 如果是undefined 和 null

    则调用string()函数并取得字符串“undefined”和“null”。

    (2) 减法

    a如果都是数值

    var  box = 1+2;                        //结果为3  如果两个操作符都是数值,则执行常规的算术减法操作并返回结果。

    var  box = 1-NaN                      //结果为NaN  如果一个操作符是NaN 就为NaN

    var box = Infinity 减 Infinity          //结果为 NaN

    var box = -Infinity减 - Infinity    //结果为NaN

    var box = Infinity 减 -Infinity      // 结果为Infinity

    var box =- Infinity 减 Infinity      // 结果为-Infinity

    var box = +0 减+0 ;              //  结果为+0

    var box = +0 减 -0 ;              //  结果为-0

    var box = -0 加 -0 ;              //  结果为+0

    b如果一个操作数是字符串,布尔值,Null或者undefined

    先在后台调用number()函数将其转化为数值,然后再根据前面规则执行减法计算。如果转换的结果是NaN,则减法的结果就是NaN。

    c 如果一个操作数是对象

    则调用对象的valueOf()方法以取得该对象的数值。

    如果得到的结果是NaN,则减法的结果就是NaN。

    如果对象没有valueOf()方法,则调用toString()方法并将得到的字符串转化为数值。

    相关文章

      网友评论

        本文标题:菜鸟学习javascript26 运算符(1)

        本文链接:https://www.haomeiwen.com/subject/smhlittx.html