菜鸟学习javascript26 运算符(1)

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))